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

Issue: EQUAL-STRUCTURE (Version 1)



Here's one more to add to your list.  Kent, I will merge this and
create Version 2 if you like, otherwise I expect that you will include
these with any other changes you might have.  (I actually prefer
EQUAL-STRUCTURE:RADICAL myself, but I'm trying to be practical.)

Proposal (EQUAL-STRUCTURE:CHANGE-EQUALP):

  Change EQUALP so that it descends structures, is case sensitive, and
  never considers numbers of different types to be equal.

  Rationale:

   Several users have independently inquired why there is no predicate
   with this definition in Common Lisp.  Also, use of EQUALP is not
   widespread.  Rather than invent a new name for a predicate, it
   would be preferable to take an existing name which is not being
   heavily used and give it a more useful definition.

   It would also be useful to have EQUALP type hashtables, given this
   new definition for EQUALP.

   EQUALP did not exist in Lisp dialects preceding Common Lisp.  There
   are few programs that make use of EQUALP and only those depending
   on case insensitivity or numeric coercion (or lack of structure
   descending) would be affected.

Discussion:

  Eric Benson supports EQUAL-STRUCTURE:CHANGE-EQUALP.  He has never
  used EQUALP in a "serious" program, but in every "casual" use he has
  wished that it was case sensitive.