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

Re: eql => eq?

Possibly CL is turning into something so far from normal Lisp that I
can't use my experience with Lisp to judge it.  However in the Lisp
programming that I am used to, I often thought in terms of the actual
data structures I was building, not of course at the bit level, but at
least at the level of pointers.  When doing this sort of programming,
raw comparison of pointers was a conceptual primitive.  Certainly if you
are going to turn Lisp into ADA, which seems the trend in much recent
thinking (not just the CL design effort), EQ will clearly be, as you
say, an internal implementation primitive.  But if anyone wants to
continue to program as I did, then it will be nice to have the real EQ
around.  Now certainly in most cases where EQ is being used to compare
pointers, EQL will work just as well, since these two things differ only
on objects where EQ would not validly be used in the style of
programming I am talking about.  However it is still EQ that is the
conceptual primitive, and I somehow feel better about the language if
when I want to compare pointers I get a primitive that compares
pointers, and not one that tests to see whether what I have is something
that it thinks I should be able to compare and if not does some part of
EQUAL (or is that name out of date now, too?).