All right /prog/, is there any comprehensive or relatively good tutorial for game programming in Haskell? Or at least some pointers about how to tackle the whole thing from a functional perspective? I'm particularly baffled at how to save game state, some say to use State monads while others say IORefs or reactive programming.
Use IORefs in State monads. Actually, use a StateT IO monad with IORefs as the state, if you expect to be doing IO which you probably do. If you plan to use threading, use MVars instead of IORefs.
You can also save game state by using read and show on the state variable.