| Safe Haskell | Safe-Inferred | 
|---|---|
| Language | Haskell2010 | 
IdeSession.Strict.StateT
Contents
Description
Version on StateT which evaluates the state strictly at every step
- newtype StrictStateT s m a = StrictStateT {- runStateT :: s -> m (a, s)
 
- modify :: MonadState s m => (s -> s) -> m ()
- evalStateT :: Monad m => StrictStateT s m a -> s -> m a
- execStateT :: Monad m => StrictStateT s m a -> s -> m s
- type StrictState s = StrictStateT s Identity
- runState :: StrictState s a -> s -> (a, s)
- evalState :: StrictState s a -> s -> a
- execState :: StrictState s a -> s -> s
Transformer
newtype StrictStateT s m a Source
Constructors
| StrictStateT | |
| Fields 
 | |
Instances
| Monad m => MonadState s (StrictStateT s m) | |
| MonadTrans (StrictStateT s) | |
| Monad m => Monad (StrictStateT s m) | |
| Monad m => Functor (StrictStateT s m) | |
| Monad m => Applicative (StrictStateT s m) | 
modify :: MonadState s m => (s -> s) -> m ()
Monadic state transformer.
Maps an old state to a new state inside a state monad. The old state is thrown away.
     Main> :t modify ((+1) :: Int -> Int)
     modify (...) :: (MonadState Int a) => a ()This says that modify (+1) acts over any
    Monad that is a member of the MonadState class,
    with an Int state.
evalStateT :: Monad m => StrictStateT s m a -> s -> m a Source
execStateT :: Monad m => StrictStateT s m a -> s -> m s Source
As base monad
type StrictState s = StrictStateT s Identity Source
runState :: StrictState s a -> s -> (a, s) Source
evalState :: StrictState s a -> s -> a Source
execState :: StrictState s a -> s -> s Source