У меня есть следующий код:
main = do
putStr "Test input : "
content <- getLine
putStrLn content
Когда я запустил его (с помощью runhaskell
) или скомпилировал его (ghc 6.10.4), результат будет таким:
asd
Test input : asd
Почему Test input : asd
печатается после asd
?
В образце кода http://learnyouahaskell.com/, который использует putStr
, представленный вывод getLine
отличается от моего. Когда я использую putStrLn
, программа работает как ожидалось (печать, затем запрос и печать).
Является ли это ошибкой в ghc
, или так оно и должно работать?