
In haskell-cafe, Alastair Reid wrote:
Jerzy Karczmarczuk
writes: Rationals in Hugs were always a bit obscure. What do you think, what is the Rational form of 2.3 ? (GHCi says 23/10).
The answer is:
2589569785738035 % 1125899906842624
(Old Hugs, Feb. 2001)
I'm afraid the new release won't fix this.
Once the release is out the door and things settle down a bit (both in Hugs and in my personal life), I'd like to cleanup the Hugs' internals which have gotten quite confused by layer upon layer of backward compatability code. Practical benefits I hope for are:
- Make Float mean 'C float' and Double mean 'C double'. Most of the code is actually in Hugs already but it was disabled because of some long-irrelevant issue involving the foreign function interface.
So it seems that double-precision can (and should) be re-enabled. Alastair (in another place) counsels caution. But it's my impression that several people are using a version of Hugs with USE_DOUBLE_PRECISION set to 1 (Jerzy clearly is) with no problems, so this should be safe. It also passes the Hugs test suite (modulo the extra precision). Any testimonials?