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

corrections to Chapter 1



The section "Determining the Class Precedence List" has examples where
defclass is used to define classes, and the CPL is computed from those
definitions.   However, the CPLs shown don't include standard-object
(they do include t).   We should really fix this.  

The table in Figure 1-1 has two columns, labelled "Predefined Common
Lisp Type" and "Class Precedence List".   The first column heading isn't
right; actually, it is correct, but it misses the point.   They are
Common Lisp types, but the important thing is that CLOS has classes
corresponding to those types.   I think that column heading should be
simply "Classes" or "Predefined Classes" (since "Classes Corresponding
to Common Lisp Types" is too long).

-----------

Also, the section "Standard Meta-objects" says "The class named
standard-object is an instance of the class standard-class and is a
superclass of every class that is an instance of standard-class except
itself."   I believe that the MOP (p 3-10) contradicts this statement,
since the class structure-object is an instance of the class
standard-class, yet it doesn't have standard-object as a superclass.

[The previous paragraph seems related to my other message.  It seems
like there are some exceptions to the general rules that are not clearly
spelled out.   There is a general rule that for instances of
standard-class, all superclasses have to have the same metaclass; but
the implied superclass T is an exception. There is a general rule that
all instances of standard-class include standard-object as a superclass;
but structure-class is an exception.]