On 11 Oct 2007, at 1:34 pm, Dan Weston wrote:

Actually, [pi] is a constant: piDecimalExpansion :: String.

No, that's another constant.

A translation from piDecimalExpansion :: String to pi :: Floating a => a is already well defined via read :: Read a => String -> a

Wrong.  piDecimalExpansion would be infinite.  pi is, after all,
a transcendental number.  It can be computed incrementally by a
finite algorithm, true.  The problem is that read has to read
*all the way to the end*, and there is no end.  (More precisely,
either to the end of the string or to the first character that is
not part of a floating point literal.)

Any definition of pi in the Floating class that differs from (read piDecimalExpansion) is erroneous.

In effect, you are proposing that the only non-erroneous
definition of pi is bottom.

I don't think that is very helpful.


_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to