Escribí un montón de código en Haskell para crear un índice de un texto. La función de la parte superior se ve así:Una función de tipo Haskell: IO String-> String
index :: String -> [(String, [Integer])]
index a = [...]
Ahora me quieren dar esta función una cadena leer desde un archivo:
index readFile "input.txt"
que no funcionará porque readFile es de tipo FilePath -> IO Cadena .
no pudo igualar esperada tipo 'Cadena' contra el tipo inferido 'IO Cadena'
veo el error, pero no puedo encontrar ninguna función con el tipo:
IO String -> String
Supongo que la clave del éxito está en algún lugar debajo de algunas Mónadas, pero no pude encontrar una manera de resolver mi problema.
Echa un vistazo aquí para un buen tutorial mónada: http://blog.sigfpe.com/2006/ 08/you-could-have-invent-monads-and.html –
Otros buenos recursos se pueden encontrar aquí en SO. Simplemente mira la sección relacionada, hacia la derecha en tu pantalla. –