[Python-Dev] Rich comparison confusion

Michael Hudson mwh21@cam.ac.uk
22 Jan 2001 00:48:16 +0000


Greg Ewing <greg@cosc.canterbury.ac.nz> writes:
> Guido:
>> > I don't understand how these can be not commutative unless they have a
> > side effect on the left argument
>> I think he meant "not reflective". If a<b == floor(a,b) and a>b ==
> ceil(a,b), then clearly a<b != b>a.

What's floor of two arguments? In common lisp, (floor a b) is the
largest integer n such that (<= n (/ a b)), in Python it's a type
error... if you meant min(a,b), then I then think the programmer who
thinks "min(a,b)" is spelt "a<b" has problems we can't be expected to
deal with (if min has a symbol it's /,円 but never mind that).
More generally, people who define their comparison operators in
non-intuitive ways shouldn't really expect intuitive behaviour. I
thought Guido threatened to document this fact in large letters
somewhere...
Cheers,
M.
-- 
 Premature optimization is the root of all evil in programming. 
 -- C.A.R. Hoare

AltStyle によって変換されたページ (->オリジナル) /