Rational sequence

Ross Paterson ross@soi.city.ac.uk
Sun, 27 Oct 2002 19:17:47 +0000

In haskell-cafe, Alastair Reid wrote:
> Jerzy Karczmarczuk <karczma@info.unicaen.fr> 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?