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

Comments on Chapter 1



Some comments on the Jan 23 draft of Chapter 1, Programmer Interface
Concepts.  My apologies if there is a newer draft that has these fixed.


Page 1-6, section "The Structure of Instances", paragraph one states:

"The definition of the class specifies the structure of instances of the
class.  The slots define the structure of the instance."

This seems contradictory to me.  Perhaps the point is that the class
specifies the slots, and the slots define the structure instances.


Page 1-9, section "Inheritance of defclass Options"

The options are given here for the first time.  It would be nice if they
had been mentioned before, perhaps with a brief description of their
intended function.


Page 1-15, section "Computing the Class Precedence List"

Sorry, the class lattice is not a lattice (in the mathematician's sense
of the word).  For example, consider the following network:

      T
     / \
    A   B
    |\ /|
    | X |  ;; X is not a class, just two lines crossing
    |/ \|
    C   D
     \ /
     NIL

The set {A, B} has no least upper bound, so the ordering isn't a
lattice.  The most you can say is that the ordering is an acyclic
directed graph.

Also, "we assume they are consistent and that R is a partial ordering"
isn't right.  You mean that the trasitive closure of R is a partial
ordering.  Perhaps R should be defined to be the transitive closure, if
Rl and Rp are consistent?


Page 1-18, section "Introduction to Methods", states:

"If a defmethod form is evaluated and a method object corresponding to
the given parameter specializers already exists, the new definition
replaces the old."

How does this relate to qualified methods?  Surely a (defmethod :before
...) doesn't replace an unqualified defmethod.


Page 1-24, section "Standard Method Combination" states:

"An error is signalled if call-next-method is used and there is no
appliciable primary method to call."

Is there going to be a (remaining-method-p) function?  Or are you
counting on catching the error?


That's all for now.


----- smL