@@ -497,7 +497,7 @@ getOp :: Name -> [ExecVal] -> Maybe (Exec ExecVal, [ExecVal])
497497getOp fn (_ : _ : x : xs) | fn == pbm = Just (return x, xs)
498498getOp fn (_ : EConstant (Str n) : xs)
499499 | fn == pws =
500− Just (do execIO $ putStr n
500+ Just (do execIO $ putStr n >> hFlush stdout
501501 return (EConstant (I 0)), xs)
502502getOp fn (_:xs)
503503 | fn == prs =
@@ -505,7 +505,7 @@ getOp fn (_:xs)
505505 return (EConstant (Str line)), xs)
506506getOp fn (_ : EP _ fn' _ : EConstant (Str n) : xs)
507507 | fn == pwf && fn' == pstdout =
508− Just (do execIO $ putStr n
508+ Just (do execIO $ putStr n >> hFlush stdout
509509 return (EConstant (I 0)), xs)
510510getOp fn (_ : EP _ fn' _ : xs)
511511 | fn == prf && fn' == pstdin =
@@ -513,7 +513,7 @@ getOp fn (_ : EP _ fn' _ : xs)
513513 return (EConstant (Str line)), xs)
514514getOp fn (_ : EHandle h : EConstant (Str n) : xs)
515515 | fn == pwf =
516− Just (do execIO $ hPutStr h n
516+ Just (do execIO $ hPutStr h n >> hFlush h
517517 return (EConstant (I 0)), xs)
518518getOp fn (_ : EHandle h : xs)
519519 | fn == prf =