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.


_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to