Как указать порядок выполнения блока do при использовании runhaskell?
В настоящее время я пытаюсь изучить Haskell IO и использую System.IO writeFile для редактирования текстового файла с этим кодом:
main = do
putStr "Enter Some Text: "
text <- getLine
writeFile "text.txt" text
putStrLn "Updated!"
В ghci это работает нормально, но когда я пытаюсь повторить это с помощью runhaskell, кажется, что сначала запускается функция 'text <- getLine', и он имеет следующий вывод (были введены первые две строки):
runhaskell EditFile.hs
hello
Enter Some Text: Updated!
Почему runhaskell не запускает функцию по порядку, и есть ли способ обойти это? (т.е. я могу заставить его напечатать "Введите текст: " перед тем, как получить пользовательский ввод?)