Ho scritto un mucchio di codice in Haskell per creare un indice di un testo. La funzione superiore è simile al seguente:Una funzione Haskell di tipo: IO String-> String
index :: String -> [(String, [Integer])]
index a = [...]
Ora voglio dare questa funzione una stringa di leggere da un file:
index readFile "input.txt"
che non funziona perché readFile è di tipo FilePath -> IO String .
potrebbe non corrispondere previsto tipo 'String' contro tipo derivato 'IO String'
vedo l'errore, ma non riesco a trovare alcuna funzione di tipo:
IO String -> String
Immagino che la chiave del successo risieda da qualche parte sotto alcune Monadi, ma non sono riuscito a trovare un modo per risolvere il mio problema.
dare uno sguardo qui per una buona monade tutorial: http://blog.sigfpe.com/2006/ 08/you-could-have-invented-monads-and.html –
Altre buone risorse possono essere trovate qui in SO. Guarda la sezione relativa, a destra sullo schermo. –