Happy Happy Joy Joy (was: On to Hydro)

Mark S. Miller markm@caplet.com
Sat, 19 Aug 2000 12:27:32 -0700


At 12:18 PM 8/19/00 , Ben Laurie wrote:
>Eh? Am I being terminally stupid? Surely there are multiple NaNs
>(+infinity, -infinity and indefinite, for example), and some of them are
>comparable, e.g. +infinity > -infinity.

First, in IEEE infinity and -infinity are both distinct, and neither are 
NaNs.  (Given that NaN means "not a number", one could argue that IEEE takes 
the position that infinities are therefore denote numbers, which would is bad 
terminology, but so it goes.)  The infinities are indeed part of the fully 
ordered subset of IEEE floating point values.  IEEE itself also has multiple 
NaNs, but Java has only one.  Java supports a subset of the IEEE spec, but 
AFAIK, in that subset it fully conforms.  Since E's major implementation 
platform is expected to remain Java for some time to come, I need to be 
careful to specify E so that it may be reasonably implemented in Java.  
Therefore, E also conforms to the subset of IEEE chosen by Java.

Btw, having read Kahan's criticisms of the subsetting choices Gosling made, 
I'd say Gosling is a much better language designer than Kahan.


         Cheers,
         --MarkM