[Haskell-cafe] pi

ok ok at cs.otago.ac.nz
Wed Oct 10 19:21:26 EDT 2007

On 11 Oct 2007, at 4:49 am, Dan Piponi wrote:
> Maybe this is the wrong point of view, but I think of defaults as
> impementations that are meant to be correct, but not necessarily the
> best way of doing things, leaving you the option to provide something
> better.

The example of tanh in the report (page 106) shows that this view
cannot be sustained.  As an algorithm for computing tanh, it cannot
be defended, producing NaN in a vast range of cases where 1.0 is the
easily obtained correct answer.

> For the case of power series as an instance of Num, using
> 4*atan 1 gives me the wrong thing as it triggers an infinite
> summation, whereas I'd want pi to simply equal the constant power
> series.

So if you have a default for pi in Float, you still have to provide
your own definition for power series.  Without a default for pi, you
have to provide your own definition for power series.  It doesn't
sound as though providing a default makes anything worse.  One
alternative would of course be to simply provide a definition with
say 64 digits, to be rounded as appropriate by the compiler.  That
would be as accurate as 4*atan 1 for Float, Double, and Complex
based on them, even for 128-bit floats.

More information about the Haskell-Cafe mailing list