[Python-Dev] Python-Dev Digest, Vol 69, Issue 143

Scott David Daniels Scott.Daniels at Acm.Org
Fri Apr 17 16:58:55 CEST 2009


Greg Ewing wrote:
> Steven D'Aprano wrote:
>> it should be obvious in the same way that string concatenation is 
>> different from numerical addition:
>>
>> 1 + 2 = 2 + 1
>> '1' + '2' != '2' + '1'
> 
> However, the proposed arithmetic isn't just non-
> commutative, it's non-associative, which is a
> much rarer and more surprising thing. We do
> at least have
> 
>   ('1' + '2') + '3' == '1' + ('2' + '3')
> 
But we don't have:
     (1e40 + -1e40) + 1 == 1e40 + (-1e40 + 1)

Non-associativity is what makes for floating point headaches.
To my knowledge, floating point is at least commutative.

--Scott David Daniels
Scott.Daniels at Acm.Org



More information about the Python-Dev mailing list