Неправильный порядок действий ввода-вывода с использованием putStr и getLine

У меня есть следующий код:

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или это так должно работать?

Ответы на вопрос(1)

Ваш ответ на вопрос