(moderator, can you please include this mail at the bottom of my previous mail?)

PS: I think the next example shows pretty well what goes wrong when you're not closing the read-handle:

-------
test = do writeFile' "123.txt" "blaat"

    appendFile' "123.txt" " 1"
    z <- readFile' "123.txt"

    appendFile' "123.txt" " 2"
    s <- readFile' "123.txt"
        appendFile' "123.txt" " 3"
    t <- readFile' "123.txt"
        putStr ("\n\n")
    putStr (z ++ "\n" ++ s ++ "\n" ++ t)

-------

Instead of "blaat 1
               blaat 1 2
                blaat 1 2 3"

three lines of "blaat 1 2 3" are outputted. The strange thing is that using "putStr z", "putStr s", and "putStr t" after each call of readFile' solves the problem,
but using seq (even though it's already called in the function readFile' in our module). before appending a new character to the file, like "seq z (appendFile "123.txt" "2")
doesn't work.


Best regards,
Niels Reyngoud

_______________________________________________
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell

Reply via email to