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

Re: MOP comments part 1.



    I like this draft much better than the first draft that came
    out last march.

Thanks.  Us too.

    I find the argumentation in favor of common base design not
    very convincing. 
The KEY point here is that we don't think that we can really get it right, and
partly right is not as reasonable as common-base.  One way to think of it is
that one can think of designing a reasonable object oriented system, and then
grafting an Common Lisp on it underneath.  Things would clearly be much better
if we would start over and redesign the entire system with what we know now.

Another pseudo argument is that Pierre Cointe, in designing an object system for
EuLisp has a similar structure, and he indicated tghat having this structure
should make it much easier to get agreement witht he Europeans.

But I don't find these arguments altogether convincing either, so look forward
to a more extensive discussion next week of the possible alternatives.

    Why would ADD-NAMED-CLASS call CLASS-FOR-REDEFINITION if there
    is no old class object. What is the second argument supplied to
    CLASS-FOR-REDEFINITION in this case? NIL? 
This is just a missing piece of the writeup.  It doesn't call
CLASS-FOR-REDEFINITION when there is no previously defined class -- it just
creates a new class of the correct metaclass.

    I also propose to get rid of forward-reference-class. 
This gives names a prominence in the system that we have tried to avoid.  Names
are translated to classes at the earliest possible moment.
forward-referenced-class is an easy way to capture the fact that a class is not
yet fully defined by making appropriate methods.