[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Scheme-reports] Reverting to R5RS semantics of procedure identity

Based on a strong objection from Gerald Sussman, WG1 has reinvestigated
the switch to R6RS semantics for eq?/eqv?  to be unspecified on
procedures.  The WG members have unanimously (modulo a pending response
from one member) agreed that this change was a mistake, and would like
to revert to the R5RS semantics.  That is, the WG intends to restore
the clause:

     The `eqv?' procedure returns #t if:


        * OBJ1 and OBJ2 are procedures whose location tags are equal
          (section *note Procedures::).

and the corresponding example:

     (let ((p (lambda (x) x)))
       (eqv? p p))                          ==>  #t

and the eq? counterpart.

Given the late stage of this reversal the WG has asked the SC if it has
any objections.  If there are none, the full text will be posted later.
Voting on the unmodified ninth draft will continue as before; this change
will appear in the tenth draft.

Principles.  You can't say A is         John Cowan <cowan@x>
made of B or vice versa.  All mass      http://www.ccil.org/~cowan
is interaction.  --Richard Feynman

Scheme-reports mailing list