[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
change-class and class redefinition
- To: Moon@STONY-BROOK.SCRC.Symbolics.COM, Common-Lisp-Object-System@SAIL.STANFORD.EDU
- Subject: change-class and class redefinition
- From: Daniel L. Weinreb <DLW@ALDERAAN.SCRC.Symbolics.COM>
- Date: Tue, 20 Jan 87 10:42 EST
- In-reply-to: <870119235610.0.MOON@EUPHRATES.SCRC.Symbolics.COM>
Date: Mon, 19 Jan 87 23:56 EST
From: David A. Moon <Moon@STONY-BROOK.SCRC.Symbolics.COM>
[CLASS-CHANGED was the best name I could think of off-hand. In Flavors
this is named TRANSFORM-INSTANCE. In CommonLoops it is named
CHANGE-CLASS-INTERNAL, I believe.]
CLASS-CHANGED is a good name. This name makes it clear that you aren't
supposed to call this function yourself; you're only supposed to handle
it. (I wish there were a term for that kind of generic function.) The
other two names are both imperative, and so don't make it clear.
You have to specify what sort of method combination is used for
CHANGE-CLASS. Presumably the default one, but it should be specified in
case there's any question.
(5) Restrictions on when CHANGE-CLASS can be called
Redefining a class modifies the existing class object to reflect the new
class definition; it never creates a new class object for the class. All
methods applicable to the class remain, except for methods created by the
:accessor, :reader, :accessor-prefix, and :reader-prefix options when those
options have been changed in the DEFCLASS form.
Do accessors that used to be defined, but are not now defined, actually
get undefined (fmakunbound'ed)?