[Haskell-beginners] Question regarding error messages

Francesco Ariis fa-ml at ariis.it
Sun Jun 18 16:49:09 UTC 2017


On Sun, Jun 18, 2017 at 05:02:13PM +0800, Choi Waikit wrote:
> Hi guys,
> 
> I have difficulty understanding how GHC determines what kind of error
> message to return. Could you help explain a bit ? Thanks !
> 
> The code can be accessed here <http://lpaste.net/356325>
> 
> My question is
> Why does calling `settleDown 9` return different error message from
> `settleDown "sting"` ?

Hello David,
    every time you write a number in a haskell source, it gets automagically
wrapped in `fromInteger` (actually, `fromInteger` if there isn't a dot,
`fromRational` otherwise). This is made to provide some kind of overloading.

`fromInteger` has signature:

    λ> :t fromInteger
    fromInteger :: Num a => Integer -> a

hence the different error with 9 and "string"!

Is it clear now?


More information about the Beginners mailing list