rev-state-0.2.0.1: Reverse State monad transformer
Safe HaskellSafe-Inferred
LanguageHaskell2010

Control.Monad.Trans.RevState

Synopsis

Monad Transformer

newtype StateT s m a Source #

Constructors

StateT (s -> m (a, s)) 

Instances

Instances details
MonadFix m => MonadRevState s (StateT s m) Source # 
Instance details

Defined in Control.Monad.RevState.Class

Methods

get :: StateT s m s Source #

put :: s -> StateT s m () Source #

state :: (s -> (a, s)) -> StateT s m a Source #

MonadFix m => MonadFix (StateT s m) Source # 
Instance details

Defined in Control.Monad.Trans.RevState

Methods

mfix :: (a -> StateT s m a) -> StateT s m a #

MonadFix m => Applicative (StateT s m) Source # 
Instance details

Defined in Control.Monad.Trans.RevState

Methods

pure :: a -> StateT s m a #

(<*>) :: StateT s m (a -> b) -> StateT s m a -> StateT s m b #

liftA2 :: (a -> b -> c) -> StateT s m a -> StateT s m b -> StateT s m c #

(*>) :: StateT s m a -> StateT s m b -> StateT s m b #

(<*) :: StateT s m a -> StateT s m b -> StateT s m a #

Functor m => Functor (StateT s m) Source # 
Instance details

Defined in Control.Monad.Trans.RevState

Methods

fmap :: (a -> b) -> StateT s m a -> StateT s m b #

(<$) :: a -> StateT s m b -> StateT s m a #

MonadFix m => Monad (StateT s m) Source # 
Instance details

Defined in Control.Monad.Trans.RevState

Methods

(>>=) :: StateT s m a -> (a -> StateT s m b) -> StateT s m b #

(>>) :: StateT s m a -> StateT s m b -> StateT s m b #

return :: a -> StateT s m a #

runStateT :: StateT s m a -> s -> m (a, s) Source #

evalStateT :: Functor m => StateT s m a -> s -> m a Source #

execStateT :: Functor m => StateT s m a -> s -> m s Source #

mapStateT :: (m (a, s) -> n (b, s)) -> StateT s m a -> StateT s n b Source #

withStateT :: (s -> s) -> StateT s m a -> StateT s m a Source #

liftStateT :: Functor m => m a -> StateT s m a Source #

Monad

runState :: State s a -> s -> (a, s) Source #

evalState :: State s a -> s -> a Source #

execState :: State s a -> s -> s Source #

mapState :: ((a, s) -> (b, s)) -> State s a -> State s b Source #

withState :: (s -> s) -> State s a -> State s a Source #

Primitives and basic combinators

get :: Applicative m => StateT s m s Source #

put :: Applicative m => s -> StateT s m () Source #

state :: Applicative m => (s -> (a, s)) -> StateT s m a Source #

gets :: Applicative m => (s -> a) -> StateT s m a Source #

modify :: Applicative m => (s -> s) -> StateT s m () Source #