[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: standard-type-classes
- To: Moon@STONY-BROOK.SCRC.Symbolics.COM
- Subject: Re: standard-type-classes
- From: Danny Bobrow <Bobrow.pa@Xerox.COM>
- Date: 22 Jan 87 16:50 PST
- Cc: common-lisp-object-system@SAIL.STANFORD.EDU
- In-reply-to: David A. Moon <Moon@STONY-BROOK.SCRC.Symbolics.COM>'s message of Thu, 22 Jan 87 18:49 EST
- Sender: Bobrow.pa@Xerox.COM
The draft specification as it stands contains neither
CLASS-NAME nor anonymous classes. Can we assume that someone is
going to get their act together and propose those at some point?
The document should say something like:
Classes are first class objects. Unnamed classes can exist, created by,
for example, by
(MAKE-INSTANCE class direct-supers ...)
The user interface suports the notion of class-names to allow defclass
definitions to use names. The function interface to those classes
defined by DEFCLASS consists of:
(CLASS-NAMED <symbol> &optional (no-error ())
which returns the class currently having the name <symbol> or signals an
error if there is no such class if no-error is NIL. If no-error is
non-NIL, then CLASS-NAMED returns NIL if there is no such class.
(CLASS-NAME class &optional (unnamed-class-response 'NO-NAME))
This function returns the name originally provided by defclass if this
class still has that name, the value of unnamed-class-response if the
class has none. It is a hint in that it is NOT guaranteeed that
(CLASS-NAMED (CLASS-NAME class)) = class
The "natural" value of unnamed-class-response is () but this conflicts
with our desire to have a class named NIL.
danny