Email or username:

Password:

Forgot your password?
Top-level
Fabian Giesen

Specifically
1. Verse really _really_ needs ∀x: x=x to hold or all hell breaks loose, so in Verse all NaNs compare as equal to all other NaNs, and you can check for NaN-ness by testing whether they compare equal to any other known NaN.
2. Likewise, for any x, y and any pure function f, Verse needs x=y => f(x)=f(y). IEEE signed zeros break that (take e.g. f(x)=1/x).

2 comments
Fabian Giesen

IEEE signed zeros still exist under the hood in the VM, but any IEEE operation that could tell +0 and -0 apart (there are not many) needs to canonicalize to one of them (we chose +0).

Fabian Giesen

There are still two infinities +∞ and -∞, but e.g. 1/+0 = 1/-0 = +∞.

Go Up