Haskell: ¿no puede usar "map putStrLn"?

Tengo una lista de cadenas y probé esto:

ls = [ "banana", "mango", "orange" ]

main = do
       map PutStrLn list_of_strings

Eso no funcionó, y no puedo entender por qué.

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'

¿Alguna pista? Supongo que tiene que ver con que el mapa devuelva una lista y no un valor, pero no encontré una manera fácil de arreglar est

Ahora mismo, la única forma en que sé imprimir una lista de cadenas es escribir una función que iterará la lista, imprimiendo cada elemento (imprime si la lista es [a], pero imprime y recurre si es (a: b)) . Pero seríamuch más simple simplemente usar el mapa ...

¡Gracias

Respuestas a la pregunta(0)

Su respuesta a la pregunta