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.
Wouldn't the full power of rich comparisons be enough? See section 3.3.1 in Python Reference Manual: http://www.python.org/doc/2.4.2/ref/customization.html See methods __lt__, __le__, __eq__, __ne__, __gt__, __ge__. /MiO -- http://mail.python.org/mailman/listinfo/python-list