On 10/16/07, David A. Wheeler <[EMAIL PROTECTED]> 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.

Perhaps, but do note that __cmp__ is *higher* level than __eq__ etc. ,
not lower level.

I'd be okay with code that detects the presence of _cmp__ and then
automatically defines __eq__ etc. accordingly. Whether this should be
default behavior or a mixin that you explicitly have to request I'm
not sure. I'd be willing to entertain a PEP that clearly explains the
motivation and puts forward a specific solution.

-- 
--Guido van Rossum (home page: http://www.python.org/~guido/)
_______________________________________________
Python-3000 mailing list
Python-3000@python.org
http://mail.python.org/mailman/listinfo/python-3000
Unsubscribe: 
http://mail.python.org/mailman/options/python-3000/archive%40mail-archive.com

Reply via email to