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

Re: lattice of kernel classes



    1.  In the diagram, there is a class named
    "standard-structure".   I think it is meant to be
    "structure-object"; which is what it is called in the previous
    section. 
Right.


    2.  The classes <structure-object> and <standard-object> have
    angle brackets around them, which indicates that they are used
    primarily for type determination, like <class>, <method>, and so
    on.   I don't think of those two classes in that way; I think of
    them as primarily being there to support default behavior of
    instances of structure-class and standard-class.    So, I would
    recommend getting rid of the angle brackets.
I think that these classes serve both purposes.  It is appropriate to test if an
object is structure using <structure-object>.   So given the dual role of these
objects, do you think it better not to use <>, since that might indicate  their
only purpose is for type checking, or is suffcient to amplify the statements
about their other roles in the text.

    3.  This section states that T is an instance of built-in
    class, but the section "Instances of class, built-in-class, and
    structure-class" states that an implementation can use
    standard-class for ANY class associated with a Common Lisp type.  
    This seems contradictory.
The reason for making T be a built-in-class is to ensure that 
a) no instances of T can be made
b) No direct subclasses of T can be made (without significant effort)
I think we need some way to ensure this.  Either we have to make T an exception
to the rule in Chapter 1, or put this information in more directly in Chpater 3.