[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: CPL
- To: RPG@SAIL.STANFORD.EDU
- Subject: Re: CPL
- From: Danny Bobrow <Bobrow.pa@Xerox.COM>
- Date: 27 Feb 87 18:31 PST
- Cc: common-lisp-object-system@SAIL.STANFORD.EDU
- In-reply-to: Dick Gabriel <RPG@SAIL.STANFORD.EDU>'s message of 20 Feb 87 22:55 PST
- Sender: Bobrow.pa@Xerox.COM
My worry is that most people, even after a lot of thought, will
think of it like this:
1. the CPL respects the superclass relationships
2. the CPL respects the order of direct superclasses
3. otherwise, it is a black box, and if the programmer doesn't
like it, he can supply his own.
I would hope that people would think more like (and we would present it
as):
1. the CPL respects the superclass relationships
2. the CPL respects the order of direct superclasses
3. the CPL keeps supers of superclasses together
4. classes appear only once in the CPL, as late as possible
For simple hierarchies, independent superclasses, and even simple joins
(last element of a superclass list is the only class that occurs more
than once), the CPL is simple to understand, i.e. left to right depth
first keeping the last occurrence of a class.
For complicated uses (not encouraged), where common supers occur in
non-last position, it is harder to satisfy these constraints (maybe
impossible). So there is a complicated algorithm. I won't worry about
it since I will never do these bad things (or will only think about the
constraints) rather than the list.
danny