Portability | non-portable (multi-param classes, functional dependencies) |
---|---|
Stability | experimental |
Maintainer | Mark Snyder, marks@ittc.ku.edu |
Strict state monads.
- module Control.Monad.StateX.Class
- newtype StateX ix s a = StateX {
- runStateX' :: s -> (a, s)
- mkStateX :: Index ix => ix -> (s -> (a, s)) -> StateX ix s a
- runStateX :: Index ix => ix -> StateX ix s a -> s -> (a, s)
- evalStatex :: Index ix => ix -> StateX ix s a -> s -> a
- execStatex :: Index ix => ix -> StateX ix s a -> s -> s
- mapStatex :: Index ix => ix -> ((a, s) -> (b, s)) -> StateX ix s a -> StateX ix s b
- withStatex :: Index ix => ix -> (s -> s) -> StateX ix s a -> StateX ix s a
- newtype StateTX ix s m a = StateTX {
- runStateTX' :: s -> m (a, s)
- mkStateTX :: Index ix => ix -> (s -> m (a, s)) -> StateTX ix s m a
- runStateTX :: Index ix => ix -> StateTX ix s m a -> s -> m (a, s)
- evalStateTX :: (Monad m, Index ix) => ix -> StateTX ix s m a -> s -> m a
- execStateTX :: (Monad m, Index ix) => ix -> StateTX ix s m a -> s -> m s
- mapStateTX :: Index ix => ix -> (m (a, s) -> n (b, s)) -> StateTX ix s m a -> StateTX ix s n b
- withStateTX :: Index ix => ix -> (s -> s) -> StateTX ix s m a -> StateTX ix s m a
- module Control.Monad
- module Control.Monad.Fix
- module Control.Monad.Trans
Documentation
module Control.Monad.StateX.Class
The StateX Monad
StateX | |
|
evalStatex :: Index ix => ix -> StateX ix s a -> s -> aSource
execStatex :: Index ix => ix -> StateX ix s a -> s -> sSource
withStatex :: Index ix => ix -> (s -> s) -> StateX ix s a -> StateX ix s aSource
The StateTX Monad
newtype StateTX ix s m a Source
StateTX | |
|
runStateTX :: Index ix => ix -> StateTX ix s m a -> s -> m (a, s)Source
evalStateTX :: (Monad m, Index ix) => ix -> StateTX ix s m a -> s -> m aSource
execStateTX :: (Monad m, Index ix) => ix -> StateTX ix s m a -> s -> m sSource
mapStateTX :: Index ix => ix -> (m (a, s) -> n (b, s)) -> StateTX ix s m a -> StateTX ix s n bSource
withStateTX :: Index ix => ix -> (s -> s) -> StateTX ix s m a -> StateTX ix s m aSource
module Control.Monad
module Control.Monad.Fix
module Control.Monad.Trans