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

Re: Re: eql => eq?

Well, it is at least a misfeature that SETQ and lambda-binding
do not preserve EQ-ness.  It is precisely for this reason that
the predicate EQL was proposed: this is the strongest equivalence
relation on S-expressions which is preserved by SETQ and binding.
Notice that this definition is in terms of user-level semantics
rather than implementation technique.
It certainly was a great feature that user semantics and implementation
coincided and had simple definitions in EQ in the original LISP.
MacLISP was nudged from this by the great efficiency gains to be had
for numerical code, and it didn't bother too many users.
The Swiss Cheese draft of the Common LISP manual does at least make
all this explicit: see the first page of the Numbers chapter.  The
disclaimer is poorly stated (my fault), but it is there for the nonce.