[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Amendments requiring additional writing
- To: Common-Lisp-Object-System@SAIL.STANFORD.EDU
- Subject: Re: Amendments requiring additional writing
- From: David A. Moon <Moon@STONY-BROOK.SCRC.Symbolics.COM>
- Date: Thu, 1 Oct 87 11:50 EDT
- In-reply-to: <871001-083508-3628@Xerox>
Date: 1 Oct 87 08:35 PDT
From: Danny Bobrow <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.
I can't see any difference between these two paragraphs, except that your
suggested replacement is less direct, because the reader has to turn elsewhere
to find out what a standard-class is. As far as I can tell there are no
programs that would work under the first paragraph but not under the second.
However, I continue to have almost no opinion on metaclass issues until I
have seen a description of metaclasses that I can understand.