
Hi Corentin, corentin.dupont@ext.mpsa.com schrieb:
for GHCi, i will try an IORef. Too bad i allready coded it using "StateT GameState IO ()" extensively through the code ;)
That shouldn't be a problem, you could switch back and forth in submitRule, approximately like this: startGame :: IO (Rule -> IO ()) startGame = do gameState <- newIORef initialState return (\rule -> wrapStateT (submitRule rule) gameState) wrapStateT :: StateT s IO a -> IORef s -> IO a wrapStateT action ref = do state <- readIORef ref (answer, state) <- runStateT action state writeIORef ref state return answer Now you can start a game with mySubmitRule <- startGame and use mySubmitRule at the ghci prompt afterwards. Tillmann