why () is () and [] is [] work in other way?

mwilson at the-wire.com mwilson at the-wire.com
Fri Apr 27 13:00:36 EDT 2012


Adam Skutt wrote:
[ ... ]
> In the real world, if we were doing the math with pen and paper, we'd
> stop as soon as we hit such an error. Equality is simply not defined
> for the operations that can produce NaN, because we don't know to
> perform those computations.  So no, it doesn't conceptually follow
> that NaN = NaN, what conceptually follows is the operation is
> undefined because NaN causes a halt.
> 
> This is what programming languages ought to do if NaN is compared to
> anything other than a (floating-point) number: disallow the operation
> in the first place or toss an exception.  Any code that tries such an
> operation has a logic error and must be fixed.

There was a time when subtracting 5 from 3 would have been a logic error.  
Your phrase "if we were doing the math ..." lies behind most of the history 
of math, esp. as it concerns arithmetic.  Mathematicians kept extending the 
definitions so that they wouldn't have to stop.  Feynman's _Lectures on 
Physics_, chapter 22, "Algebra" gives a stellar account of the whole 
process.

	Mel.




More information about the Python-list mailing list