import Data.List
main :: IO()
main = do
word <- getLine
putStrLn(head word)
$ ghc Main.hs
[1 of 1] Compiling Main ( Main.hs, Main.o )
Main.hs:6:19:
Couldn't match type `Char' with `[Char]'
Expected type: [String]
Actual type: String
In the first argument of `head', namely `word'
In the first argument of `putStrLn', namely `(head word)'
In a stmt of a 'do' block: putStrLn (head word)
Компилятор GHC 7.6.3, ОС Debian Jessie
P. S.
Здесь написано, что функция
head
должна принимать массив элементов любого типа (
head :: [a] -> a
), а ведь строка считается массивом
[Char]
, разве нет?
P. P. S. В REPL (ghci) всё работает