"" と []

ghci において、"" を評価した結果は "" であり、 を評価した結果は となる。

['a', 'b', 'c'] を評価すると "abc" になるにもかかわらず、である。

一瞬何でだろうと思ったが、よく考えてみれば当たり前の話で、[] の型は [a] だが、"" の型は [Char] なのだな。ダブルクォートで括られた時点でリストの中身がCharに決まるわけだ。

~% ghci
Prelude> :type []
[] :: forall a. [a]
Prelude> :type ""
"" :: [Char]

こんな風に、ghciで<expression>を評価した結果の型を表示するには、

:type <expression>

とすればよい。