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

*To*: RPG@SAIL.STANFORD.EDU*Subject*: Re: Class Precedence List*From*: Danny Bobrow <Bobrow.pa@Xerox.COM>*Date*: 8 Jan 87 23:41 PST*Cc*: common-lisp-object-system@SAIL.STANFORD.EDU*In-reply-to*: Dick Gabriel <RPG@SAIL.STANFORD.EDU>'s message of 08 Jan 87 20:01 PST*Sender*: Bobrow.pa@Xerox.COM

[Danny's] algorithm gives primacy to the preorder treewalk, and there is a question about whether the algorithm terminates - though it's actually easy to prove if the algorithm is stated clearly - and about how the error condition is computed. This primacy is good I claim, because in the simple (and usual) case it describes the result of the sort. It is primary in how people will try to simulate the algorithm. There is no question about whether the algorithm terminates, or the error condition (though perhaps it would be more clearly stated in terms of the partial order). How does the topological sort algorithm state the error condition about loops? EXAMPLE 2(not repeated here) admits a single possibility by his rules, which is (pie apple fruit cinnamon spice food) Not by my interpretation of his rules (not including the Flavors extra rule about superclasses). Why determines the order of fruit and spice? What determines the order in your algorithm except the preorder. I also propose that implementations be encouraged to offer a means of warning or signalling an error every time that appeal is made to the preorder. Again this is the usual case where one has independent mixins with superclasses. So no warning please. By the way, this DAG is not a lattice in that there is no "meaningful" lower bound for any two classes. But I believe we have agreed on a top of T in any event. So my conclusion is that your description is a good mathematical one, and should be included. Mine is a good operational one, and should be included. And both agree with Moon's algorithm with the other Flavors rule, so we are all right. danny

- Prev by Date:
**Re: Method Combination Proposal** - Next by Date:
**Re: Lexical environment of slot default initial value forms** - Previous by thread:
**Class Precedence List** - Next by thread:
**Class Precedence List** - Index(es):