Haskell lecture du fichier

J'ai récemment commencé à apprendre Haskell et je vais avoir beaucoup de mal à essayer de comprendre comment la lecture du fichier d'œuvres.

Par exemple, j'ai un fichier texte "test.txt"
Et il contient des lignes de chiffres, par exemple:

32 4
2 30
300 5

Je veux lire chaque ligne, puis de l'évaluation de chaque mot et de les ajouter.
Donc je suis en train de faire quelque chose comme cela pour l'instant:

import System.IO  
import Control.Monad

main = do  
        let list = []
        handle <- openFile "test.txt" ReadMode
        contents <- hGetContents handle
        singlewords <- (words contents)
        list <- f singlewords
        print list
        hClose handle   

f :: [String] -> [Int]
f = map read

Je sais que c'est complètement faux, mais je ne sais pas comment utiliser la syntaxe exacte.
Toute aide sera grandement appréciée.
Ainsi que des liens vers de bons tutoriels qui ont des exemples et explication du code, sauf celui-ci:
http://learnyouahaskell.com/input-and-output Je l'ai lu entièrement

InformationsquelleAutor DustBunny | 2011-10-23