Hugs Humor
Derek Elkins
ddarius@hotpop.com
Tue, 8 Jul 2003 13:09:11 -0400
On Tue, 08 Jul 2003 13:06:23 +0100
Jon Fairbairn <Jon.Fairbairn@cl.cam.ac.uk> wrote:
> On 2003-07-08 at 10:15+0200 Jerzy Karczmarczuk wrote:
> > > If it's a _Rational_, surely you want it to be exactly the
> > > same as you get for 31415926536%10000000000?
> >
> > No. If 'you' means concretely me, then no. Simply no.
> > Writing
> > pi = 3.1415926536 :: Rational
> >
> > and expecting to continue the computations with an exact fraction
> > 31415926536%10000000000, with the well known explosion of Nums &
> > Dens seems pragmatically silly.
>
> Ah, well, I'd say that writing
>
> pi = 3.1415926536 :: Rational
>
> is just misleading -- we all know jolly well that pi isn't a
> rational, so anyone who writes that deserves what they get.
>
> Now, if you were to write
>
> pi = 3.1415926536 :: Real
>
> I'd be happy to argue over just what the conversion is
> supposed to do. Unfortunately we don't have Real (in
> libraries as far as I remember -- if you have a continued
> fraction implementation of it, it ought to go to the
> libraries list).
There's an exact real library in haskell-libs using Linear
Fractional Transformations,
http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/haskell-libs/libs/exactreal/.