| [Does the last -1.0 get included if you evaluate [1.0,0.9..(-1.0)]?
| For Hugs 98, it is a bug.
No, it's not a bug in Hugs 98, which does what the report requires
in this area, as far as I can tell. But Mark reported this problem
with the old Hugs 1.4 system as well, and the report (and hence the
implementation) has changed since then. Indeed, the way this is
handled in the Haskell report suggests a third way to make programming
with floating point numbers more robust, to add to the two that I
gave previously.
| To achieve this, numericEnumFromTo and numericEnumFromThenTo should be
| changed to the versions given in the report's prelude.
The Hugs 98 prelude *already* uses the definitions given in the
report's prelude, or at least something that is equivalent in this
case.
It is a puzzle to me that Mark seems to have experienced this behavior
with Hugs 98 as well---it's not something that I can reproduce on either
x86 or sparc machines here---but I was guessing that he had probably used
one of the older prerelease betas of Hugs 98, and not the proper release.
All the best,
Mark