
2 Jan
2009
2 Jan
'09
4:57 p.m.
Supposing I have the following code:
module Main(main) where main = putStr (show [])
I will get these errors from GHC and Hugs respectively:
Main.hs:2:16: Ambiguous type variable `a' in the constraint: `Show a' arising from a use of `show' at Main.hs:2:16-22 Probable fix: add a type signature that fixes these type variable(s)
ERROR "src/Main.hs":2 - Unresolved top-level overloading *** Binding : main *** Outstanding context : Show b
But if I change my code to the following, it will compile.
module Main(main) where main = putStr (show [1])
I have no problems typing in "putStr (show [])" in Hugs... runs fine. So what's wrong? I've really tried hard to think of an explanation, but with no luck.. Thanks, Benjamin