[Haskell-cafe] Printing the empty list.

Ivan Lazar Miljenovic ivan.miljenovic at gmail.com
Fri Jul 1 01:05:05 CEST 2011


On 1 July 2011 08:58, Joshua Ball <joshbball at 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.Miljenovic at gmail.com
IvanMiljenovic.wordpress.com



More information about the Haskell-Cafe mailing list