
30 Jun
2011
30 Jun
'11
11:05 p.m.
On 1 July 2011 08:58, Joshua Ball
GHCi seems to be clever about some things:
If I try to print the empty list in ghci, I encounter no problems:
Prelude> [] [] Prelude> show [] "[]" Prelude> print [] []
Even though the type of the list is clearly unknown, it must be picking SOME type. (why does it print [] instead of "")?
Type defaulting: if you don't specify a type, then ghci makes it [Integer].
If I write a program in a file and load it in
main = print []
Then I get the ambiguous type variable error that I would expect. Why doesn't ghci generate this error at the prompt?
Because ghc doesn't do type defaulting. -- Ivan Lazar Miljenovic Ivan.Miljenovic@gmail.com IvanMiljenovic.wordpress.com