| Safe Haskell | None | 
|---|
Algebra.Monad.State
Contents
- class Monad m => MonadState s m | m -> s where
 - data StateT s m a
 - type State s a = StateT s Id a
 - stateT :: (Functor m, Functor n) => Iso (StateT s m a) (StateT t n b) (s -> m (s, a)) (t -> n (t, b))
 - eval :: (s -> (a, b)) -> s -> b
 - exec :: Functor f => f (a, b) -> f a
 - state :: Iso (State s a) (State t b) (s -> (s, a)) (t -> (t, b))
 - (=~) :: MonadState s m => Traversal' s a -> (a -> a) -> m ()
 - (=-) :: MonadState s m => Traversal' s s' -> s' -> m ()
 - (^>=) :: MonadState s m => LensLike m a a s s -> (a -> m ()) -> m ()
 - gets :: MonadState s m => (s -> a) -> m a
 - getl :: MonadState s m => Getter' s a -> m a
 - saving :: MonadState s m => Lens' s s' -> m a -> m a
 - type Next a = a
 - type Prev a = a
 - mapAccum :: Traversable t => (a -> s -> (s, b)) -> t a -> s -> (s, t b)
 - mapAccum_ :: Traversable t => (a -> s -> (s, b)) -> t a -> s -> t b
 - mapAccumR :: Traversable t => (a -> s -> (s, b)) -> t a -> s -> (s, t b)
 - mapAccumR_ :: Traversable t => (a -> s -> (s, b)) -> t a -> s -> t b
 - push :: Traversable t => t a -> a -> t a
 - pop :: Traversable t => t a -> a -> t a
 - withPrev :: Traversable t => a -> t a -> t (Prev a, a)
 - withNext :: Traversable t => t a -> a -> t (a, Next a)
 - newtype StateA m s a = StateA (StateT s m a)
 - stateA :: Iso (StateA m s a) (StateA m' s' a') (StateT s m a) (StateT s' m' a')
 
The State Monad
class Monad m => MonadState s m | m -> s whereSource
Instances
| MonadState s m => MonadState s (ListT m) | |
| Monad m => MonadState s (StateT s m) | |
| MonadState s m => MonadState s (ReaderT r m) | |
| (Monoid w, MonadState r m) => MonadState r (WriterT w m) | |
| (MonadState s m, Monoid w, SubSemi acc w) => MonadState s (WriterAccT w acc m) | |
| (Monad m, Monoid w) => MonadState s (RWST r w s m) | |
| MonadState (IO ()) IO | 
Instances
| MonadWriterAcc w acc m => MonadWriterAcc w acc (StateT s m) | |
| (Monad m, MonadFuture n m) => MonadFuture n (StateT s m) | |
| MonadError e m => MonadError e (StateT s m) | |
| MonadWriter w m => MonadWriter w (StateT s m) | |
| MonadReader r m => MonadReader r (StateT s m) | |
| Monad m => MonadState s (StateT s m) | |
| MonadTrans (StateT s) | |
| MonadInternal (StateT s) | |
| Unit m => Unit (StateT s m) | |
| MonadCont m => MonadCont (StateT s m) | |
| MonadList m => MonadList (StateT s m) | |
| MonadFix m => MonadFix (StateT s m) | |
| Monad m => Monad (StateT s m) | |
| Monad m => Applicative (StateT s m) | |
| Functor m => Functor (StateT s m) | |
| Ring (m (a, s, Void)) => Ring (StateT s m a) | |
| Semiring (m (a, s, Void)) => Semiring (StateT s m a) | |
| Monoid (m (a, s, Void)) => Monoid (StateT s m a) | |
| Semigroup (m (a, s, Void)) => Semigroup (StateT s m a) | 
stateT :: (Functor m, Functor n) => Iso (StateT s m a) (StateT t n b) (s -> m (s, a)) (t -> n (t, b))Source
(=~) :: MonadState s m => Traversal' s a -> (a -> a) -> m ()Source
(=-) :: MonadState s m => Traversal' s s' -> s' -> m ()Source
(^>=) :: MonadState s m => LensLike m a a s s -> (a -> m ()) -> m ()Source
gets :: MonadState s m => (s -> a) -> m aSource
getl :: MonadState s m => Getter' s a -> m aSource
saving :: MonadState s m => Lens' s s' -> m a -> m aSource
mapAccum :: Traversable t => (a -> s -> (s, b)) -> t a -> s -> (s, t b)Source
mapAccum_ :: Traversable t => (a -> s -> (s, b)) -> t a -> s -> t bSource
mapAccumR :: Traversable t => (a -> s -> (s, b)) -> t a -> s -> (s, t b)Source
mapAccumR_ :: Traversable t => (a -> s -> (s, b)) -> t a -> s -> t bSource
push :: Traversable t => t a -> a -> t aSource
pop :: Traversable t => t a -> a -> t aSource
withPrev :: Traversable t => a -> t a -> t (Prev a, a)Source
withNext :: Traversable t => t a -> a -> t (a, Next a)Source