[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Amendments requiring additional writing
- To: Moon@STONY-BROOK.SCRC.Symbolics.COM
- Subject: Re: Amendments requiring additional writing
- From: Danny Bobrow <Bobrow.pa@Xerox.COM>
- Date: 1 Oct 87 08:35 PDT
- Cc: Common-Lisp-Object-System@SAIL.STANFORD.EDU
- In-reply-to: David A. Moon <Moon@STONY-BROOK.SCRC.Symbolics.COM>'s message of Wed, 30 Sep 87 23:45 EDT
- Sender: Bobrow.pa@Xerox.COM
I mostly agree. I notice consturctors still in there, although that is
not yet agreed to. But the oner serious remaining problem is in the
wording of the last paragraph (not a new one):
The \CLOS\ guarantees that {\bf defclass} can be used to change
the definition of an existing class that was previously defined by
{\bf defclass} as long as the {\bf :metaclass} option is not used
in either the old or the new definition. Whether {\bf defclass} is
allowed to change the metaclass and whether redefining a class
causes existing instances to be updated is up to the implementor of
the particular metaclass. ``The \CLOS\ Meta-Object Protocol'' will
describe how to control this.
The problem is that defclass without a metaclass option can be used with
class-for-redefinition to keep the class other than standard-class. I
would prefer to say:
The \CLOS\ guarantees that the user can change
the definition of an existing class that is a standard-class,
and cause its instances to be updated.
Whether redefining a class that is not a standard-class
causes existing instances to be updated is up to the implementor of
the particular metaclass. ``The \CLOS\ Meta-Object Protocol'' will
describe how to control this.