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

Re: Comments on various comments



    Larry says:

    c) (masinter) top of hierarchy is CLASS, GENERIC-FUNCTION,
    METHOD, with the names of the default ones unspecified, some
    implementations can in fact use CLASS, GENERIC-FUNCTION,
    METHOD and shadow any unwanted behavior in the subclasses.

    In another message, which I can't find, he says something like:

    A defclass which defined a class with no slots might create a class
    was an instance of no-slots-class or something.

I see, I had missed an important point, which is that defclass,
defmethod and friends might not always want to create the same kind of
class.  We might want to give them flexibility to do that.

The problem is that we would definitely like people to be able to do
"programmatically" what defclass, defmethod and friends do.  So that
SOMETHING LIKE:

(setf (class-named 'foo)
      (make-instance 'default-class :name 'foo))

would be the same as:

(defclass foo () ())

I think the easiest way to provide that ability is to specify that
defclass must produce a class of class standard-class, and as I
suggested before (although not with the reference to this message) we
use alternative b.

    b) (moon) top of hierarchy is CLASS, GENERIC-FUNCTION, METHOD,
    with the default ones named STANDARD-CLASS,
    STANDARD-GENERIC-FUNCTION, STANDARD-METHOD