Monads (was "how to write an interactive program ? gui library to use ?")
(Note, moved to haskell-cafe.)
> Essentially, the answer is "yes", the state needs to be passed around
> (neglecting hackery to simulate global variables that is better
> avoided). However, this can be made convenient by using a monad.