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

Re: First round of comments on the draft document



    ================

    1-16 fourth paragraph last sentence: "It is not allowed" is not
    defined in the error terminology section.  I think you mean "CLOS
    may be extended to cover make-instance of a standard-type class or
    inclusion of a standard type class as a superclass of a class."
I think the concept of standard-type-class was one we had eliminated.  I
think a potentially better way to describe these this mapping is:

"The classes corresponding to predefined Common Lisp data types can be
one of two types.  There are those that are implemented specially in the
implementation, and these have metaclass built-in-class.  For these
built-in classes, an error is signalled if a user tries to create an
instance of such a class using make-instance.  An example of such a
class is integer.  Some classes corresponding to predefined Common Lisp
data types may be implemented as instances of the standard metaclass.
For example, ratio or rational might be such classes (or stream if that
gets included).  For these, instances can be made using make-instance.
It is implementation dependent which of the Common Lisp data type
classes are implemented in each way."  

I suggest that where ever the expression "standard type class" is now
used, we use either built-in-class if we are referring to implementation
issues, and "Common Lisp data type classes" when we are referring to the
mapping.

Question:  Will we allow specialization of built-in-classes.  An example
of the use of this is having a general Newton-Rafson iteration method on
number, and allowing a new specialization of number that could inherit
such a method.