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

equality of structures, or *default-structure-type*



I believe the intent, but not the letter, of the specification was that
when you don't specify the type explicitly, an implementation-dependent
type that is distinguishable from all other types would be used.  The
actual implementation may be as some other primitive type (list, array)
but the object will be marked in some way that it can be recognized as a
defstruct-created structure.

I believe that this interpretation is necessary in order to cause the
structure's print-function to be invoked.  If structures weren't
distinguishable from other data types then they would print as those
data types print, rather than using the #S notation (or the
:PRINT-FUNCTION).

Therefore, the definition of EQUAL could be extended to explicitly
specify its interpretation given two structures of the same type.

                                                barmar