[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Issue CONSTANT-COMPILABLE-TYPES
- To: IIM%ECLA@ECLC.USC.EDU
- Subject: Issue CONSTANT-COMPILABLE-TYPES
- From: Jon L White <jonl@lucid.com>
- Date: Fri, 24 Feb 89 01:46:12 PST
- Cc: sandra%defun@CS.UTAH.EDU, Moon@SCRC-STONY-BROOK.ARPA, iim%ECLA@ECLC.USC.EDU, cl-cleanup@SAIL.STANFORD.EDU, cl-compiler@SAIL.STANFORD.EDU, common-lisp-object-system@SAIL.STANFORD.EDU
- In-reply-to: Kim A. Barrett's message of Sun 19 Feb 89 15:48:59-PST <12472023082.5.IIM@ECLA.USC.EDU>
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 --