У меня есть список строк и пробовал это:
ls = [ "banana", "mango", "orange" ]
main = do
map PutStrLn list_of_strings
Это не сработало, и я не понимаю, почему.
ghc print-list.hs
print-list.hs:3:0:
Couldn't match expected type `IO t' against inferred type `[IO ()]'
In the expression: main
When checking the type of the function `main'
Любые подсказки? Я полагаю, что это связано с отображением карты, а не значением, но я не нашел простой способ исправить это.
В настоящее время единственным способом, которым я знаю, чтобы напечатать список строк, является запись функции, которая будет перебирать список, печатать каждый элемент (печатать, если список [a], но печатать и рекурсировать, если он (a: b )). Но было бы гораздо проще использовать карту...
Спасибо!