See this:
Prelude> :t 2.3
2.3 :: Fractional a => a
Hope this helps.--On Thu, Apr 5, 2012 at 7:24 PM, <j.romildo@gmail.com> wrote:
On Thu, Apr 05, 2012 at 01:18:39PM +0000, Amy de Buitléir wrote:This is explanation does not seem to be enough once we consider the type
> <j.romildo <at> gmail.com> writes:
> > Why does (read "2" + 1) works, but (read "2.3" + 1) fail at runtime?
>
> Try this:
>
> read "2.3" + 1 :: Float
>
> Or this:
>
> read "2.3" + 1.0
>
> The reason that your version didn't work is because GHCi is guessing that you
> want the read operation to parse an Integer, since you're adding it to 1.
of the literal 1:
Prelude> :t 1
1 :: Num a => a
That is, the literal 1 is overloaded to any numeric type. It is not
necessarily an Integer.
Romildo
_______________________________________________
Beginners mailing list
Beginners@haskell.org
http://www.haskell.org/mailman/listinfo/beginners
Thanks and regards,
-Damodar Kulkarni