Haskell Xml Toolbox 7.5: The Arrow APISource codeContentsIndex
Control.Monad.MonadStateIO
Description

general usefull state monad for a local state and IO

Version : $Id: MonadStateIO.hs,v 1.1 20040902 19:11:55 hxml Exp $

Synopsis
newtype StateIO state res = STIO {
trans :: (state -> IO (res, state))
}
io :: IO a -> StateIO state a
trcState :: (state -> String) -> StateIO state ()
changeState :: (state -> state) -> StateIO state state
setState :: state -> StateIO state state
getState :: StateIO state state
run :: state -> StateIO state res -> IO res
Documentation
newtype StateIO state res
Constructors
STIO
trans :: (state -> IO (res, state))
show/hide Instances
Monad (StateIO state)
io :: IO a -> StateIO state a
lift IO command to StateIO
trcState :: (state -> String) -> StateIO state ()
state inspection command: a "show"-like function is applied to the state and the result is written to stderr.
changeState :: (state -> state) -> StateIO state state
change the state with a given function and return the new state
setState :: state -> StateIO state state
set the state
getState :: StateIO state state
read the state
run :: state -> StateIO state res -> IO res
run a StateIO command with an initial state
Produced by Haddock version 0.8