現在、Haskell IO を学習しようとしており、System.IO writeFile を使用して、次のコードでテキスト ファイルを編集しています。
main = do
putStr "Enter Some Text: "
text <- getLine
writeFile "text.txt" text
putStrLn "Updated!"
ghci ではこれは正常に動作しますが、runhaskell を使用してそれを繰り返そうとすると、最初に 'text <- getLine' 関数を実行しているように見え、次の出力が得られます (最初の 2 行が入力されました)。
runhaskell EditFile.hs
hello
Enter Some Text: Updated!
runhaskell が関数を順番に実行しないのはなぜですか? これを回避する方法はありますか? (つまり、ユーザー入力を取得する前に「Enter Some Text:」を出力することはできますか?)