[Python-Dev] total ordering. (original) (raw)
Jason Orendorff jason.orendorff at gmail.com
Thu May 18 21:34:30 CEST 2006
- Previous message: [Python-Dev] total ordering.
- Next message: [Python-Dev] binary trees.
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Vladimir,
Your examples seem to indicate that you've misunderstood the change that's proposed for Python 3000. Especially this:
On 5/17/06, Vladimir 'Yu' Stepanov <vys at renet.ru> wrote:
# BEGIN: Emulation python3000 if type(a) is not type(b) and ( not operator.isNumberType(a) or not operator.isNumberType(b) ): raise TypeError("python3000: not-comparable types", (a,b)) # END: Emulation python3000
Python 3000 will not do anything like this. It'll try a.cmp(b), and failing that b.cmp(a) (but imagine this using tp_ slots instead of actual Python method calls), and if both return NotImplemented, it'll throw a TypeError (rather than guess, which is what it does now).
There's a lot of legacy oddness in PyObject_RichCompare() and its many helper functions; presumably they'll delete some of that, but it won't be anything you care about.
Comparison with None should also continue to work as it does now, unless I missed something.
-j
- Previous message: [Python-Dev] total ordering.
- Next message: [Python-Dev] binary trees.
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]