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

CPL Varia

Given that Moon has agreed that the example

    (defclass c1 (top) ())
    (defclass c2 (top) ())
    (defclass c3 (top) ())
    (defclass d1 (c1 c2) ())
    (defclass d2 (c1 c3) ())
    (defclass e1 (d1 d2) ())

producing the CPL (E1 D1 D2 C1 C3 C2 TOP)  is ok, I am willing to
accept it. I will make sure the writeup is reasonable.

Moon's writes:

``Oh, right, this only happens if you add the extension that the local
precedence order of a class can be a partial order rather than a total
order.  We have that in Flavors, and it comes in handy, but I'm not
proposing to standardize on it at this time.''

I'm not sure what this means, but whether the local precedence order
is partial or total the leftmost siblings must come first. Therefore
no sibling to the right of a candidate can be a candidate. In CLOS
the local precedence order is total on the class itself and its direct
siblings. The union of the local precedence orders might be a partial
ordering and it might be a total ordering.

My example of green-turtles was completely bogus, so forget it.
I still think, though, that people will still regard the CPL computation
as a black box. The example at the start of this message shows that
intuition isn't going to help much in all cases.