On 1 July 2011 08:58, Joshua Ball <joshbb...@gmail.com> wrote:
> 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.miljeno...@gmail.com
IvanMiljenovic.wordpress.com

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to