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

change-class and class redefinition



    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)?