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


re: ... only the programmers who define/use a class can
    know how to properly copy, dump, test for equality (whatever equality 
    means), &etc.  ... Removing structure objects from these kinds of 
    protocols and instead giving them trivial component-wise functionality 
    is utter nonsense.  By all means we should give the programmer mechanisms 
    to help him specify that kind of behavior if that is what he wants.  But 
    it must be a concious decision, not a default behavior!  (As an aside, if 
    it were up to me, the default copier option for defstruct would be Nil.)

Kim, don't you have something turned around here?   Previous mail
referred to CLtL p81 to show that defstruct instances should be
descended componentwise by EQUALP.  This is not a statement about
classes in general -- just about structure-class, and its historic
meaning under EQUALP.  Thus the Hawaii amendment was an *incompatible* 
change (which has already raised some question in Lucid's customer land!).
This incompatible change unfortunately does nothing at all towards 
supplying the "mechanisms" you call for, and in fact breaks some existing 
code (in a very inscrutable way).

Given the failure to make EQUALP generic, wouldn't it be far better
to leave it alone and not make backwards-incompatible changes which
do no one any good?

-- JonL --