Wrong IO actions order using putStr and getLine
- by QWRp
I have a code :
main = do
putStr "Test input : "
content <- getLine
putStrLn content
And when I run it (with runhaskell) or compile it (ghc 6.10.4) result is like this:
asd
Test input : asd
I'm new to haskell and in my opinion printing should be first. Am I right? In code sample on http://learnyouahaskell.com/ which used putStr then getLine presented output is different than mine (IMHO correct). When I use putStrLn program works as expected (print then prompt and print).
Is it a bug in ghc, or it is the way that it should work?