3 import StdEnv, StdMaybe, StdMonad, StdFile
5 :: IO a = IO (*World -> *(a, *World))
7 read :: *World -> (IO String, *World)
9 # (io, world) = stdio world
10 # (line, io) = freadline io
11 # (ok, world) = fclose io
12 | not ok = abort "Couldn't close console"
15 instance return IO where
16 return x = IO (\w = (x, w))
21 Start :: *World -> (IO String, *World)