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


You might wonder why I continue to harp on the CPL. Moon argues that
the CPL computation should do a clear, unambiguous thing. If it's intuitive,
all the better. Maybe so.

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.

The CPL is used all over the place, and it's not comforting to think that
the correctness of your program depends on a black box. Moon argued that
the New Flavors CPL algorithm did the right thing and was intuitive. He argued
that some huge number of users depended on it and liked it. So we tried
to figure out an alternative formulation that was easier to understand.
The result was that we found an example that showed that the algorithm
that did the right thing and that programmers loved did the wrong thing.

Moon thought this algorithm was the right thing for about a year (?).
Why is what we now have the right thing? Why aren't we trying to think
of a simple way for the user to have control of the CPL without making him
write his own algorithm? We can provide some default, but I think that
making someone write their own topological sort as the only alternative
is a loser.

Well, let's have the committee look over the proposal and make its