Safe Haskell | None |
---|
- 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
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 |
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