[Haskell-cafe] Needing strictness?
daniel.is.fischer at web.de
Wed Oct 21 22:25:51 EDT 2009
Am Donnerstag 22 Oktober 2009 04:15:56 schrieb michael rice:
> Busy night. I wanted the question and response to be on the same line (see
> below), so I used putStr instead of putStrLn, but Haskell jumps the gun and
> goes to the second line to get the response before the question ever gets
> printed. Is this an example of needing strictness? How would I do that, or
> something else, to get the result I want?
> putStrLn "Some yes/no question (y/n)?"
> ans <- getLine
It's a buffering issue. For compiled code, stdout is by default set to line buffering
(it's different for interpreted code, at least on linux).
do hSetBuffering stdout NoBuffering
ans <- getLine
should do what you want.
More information about the Haskell-Cafe