Antoon Pardon wrote: > Op 2005-10-20, Duncan Booth schreef <[EMAIL PROTECTED]>: >> Antoon Pardon wrote: >> >>> The problem now is that the cmp protocol has no way to >>> indicate two objects are incomparable, they are not >>> equal but neither is one less or greater than the other. >> >> If that is the case then you implement __eq__ and __ne__ to return >> True/False and make cmp throw an exception. I don't see any need to >> extend the cmp protocol. > > That is not sufficient. There are domains where an order exists, but > not a total order. So for some couples of elements it is possible to > say one is less than the other, but not for all such couples. > > Your solution wouldn't allow for such a case. >
I don't see why not. If an ordering exists then __cmp__ returns a result otherwise it throws an exception. So long as you define __eq__ and __ne__, __cmp__ is never called when checking for equality. -- http://mail.python.org/mailman/listinfo/python-list