On 1/9/06, Sebastian Sylvan <[EMAIL PROTECTED]> wrote: > On 1/9/06, Gracjan Polak <[EMAIL PROTECTED]> wrote: > > > > Hi all, > > > > A bit strange behaviour with hPutStrLn. Consider following program: > > > > main = do > > handle <- openFile "output.txt" WriteMode > > hPutStrLn handle (unlines contLines2) > > -- hFlush houtput > > where > > contLines2 = flip map [1..2000] $ > > \x -> show x ++ " been there done that" > > > > Outputs file which ends with following lines: > > > > 1989 been there done that > > 1990 been there done that > > 1991 been there done that > > 1992 been there done that > > 199 > > (END) > > > > So the output is truncated. When I uncomment hFlush, file is fully written. > > Is this expected/documented behaviour? > > > > Platform: WinXP, GHC version 6.4.1 > > > > Looks like the buffering is BlockBuffering for your output. Try > changing that using hSetBuffering stdout LineBuffering (or > NoBuffering).
Err, you'd want to change the buffering on your handle, not stdout, obviously. :-) -- Sebastian Sylvan +46(0)736-818655 UIN: 44640862 _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe