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
>
> Michael

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).

import System.IO

do hSetBuffering stdout NoBuffering
   putStr "Question"
   ans <- getLine

should do what you want.
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to