[Python-3000] Please re-add __cmp__ to python 3000

Steven Bethard steven.bethard at gmail.com
Tue Oct 16 21:34:09 CEST 2007


On 10/16/07, David A. Wheeler <dwheeler at dwheeler.com> wrote:
> I agree with Collin Winter: losing __cmp__ is a loss  (see http://oakwinter.com/code/).
>
> Yes, it's possible to write all the comparison operations, but I think
> it's _clearer_ to create a single low-level operator that handles ALL
> the comparison operators.  It also avoids many mistakes; once you
> get that ONE operator right, ALL comparisons are right.  I think the
> python 2 way is better: individual operations for the cases where you
> want to handle each case specially, and a single __cmp__ function
> that is a simple way to handle comparisons all at once.

Why can't this just be supplied with a mixin?  Here's a recipe
providing the appropriate mixins if you want to define a __key__
function:

    http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/510403

Presumably, you could do a very similar thing for __cmp__ if you
wanted to use it.

STeVe
-- 
I'm not *in*-sane. Indeed, I am so far *out* of sane that you appear a
tiny blip on the distant coast of sanity.
        --- Bucky Katt, Get Fuzzy


More information about the Python-3000 mailing list