On Tuesday, 2002-05-28, 18:57, CEST Simon Peyton-Jones wrote:
> Folks
> 
> I'm back to tidying up the Haskell Report.
> 
> In the Numeric library, there is the useful function
> 
>       readFloat :: RealFloat a => ReadS a
> 
> But you can't use it for reading rationals, because Rational
> isn't in RealFloat!
> 
> This is a Royal Pain, and entirely unnecessary. In fact,
> readFloat uses only operations from the RealFrac class,
> so it could equally well have type
> 
>       readFloat :: RealFrac a => ReadS a
> 
> I'm strongly inclined to make this change. It breaks no
> programs, and it fixes a real bug i.e. there is no way to
> read a "103" as a Rational.
> 
> Simon

It would be strange to name a function readFloat if its type is
    RealFrac a => ReadS a.
I think the function should be named readFrac. For compatibility, one
could put the following into the prelude:
    readFloat :: RealFloat a => ReadS a
    readFloat = readFrac
And one could mark readFloat as depricated and maybe remove it in some
future version of Haskell.

Ciao, Wolfgang

_______________________________________________
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell

Reply via email to