Copyright | (c) Sirui Lu 2023 |
---|---|
License | BSD-3-Clause (see the LICENSE file) |
Maintainer | siruilu@cs.washington.edu |
Stability | Experimental |
Portability | GHC only |
Safe Haskell | Trustworthy |
Language | Haskell2010 |
Grisette.Lib.Control.Monad.Trans.State.Lazy
Description
Synopsis
- mrgState :: forall (m :: Type -> Type) s a. (Monad m, TryMerge m, Mergeable s, Mergeable a) => (s -> (a, s)) -> StateT s m a
- mrgRunStateT :: (Monad m, TryMerge m, Mergeable s, Mergeable a) => StateT s m a -> s -> m (a, s)
- mrgEvalStateT :: (Monad m, TryMerge m, Mergeable a) => StateT s m a -> s -> m a
- mrgExecStateT :: (Monad m, TryMerge m, Mergeable s) => StateT s m a -> s -> m s
- mrgMapStateT :: (TryMerge n, Mergeable b, Mergeable s) => (m (a, s) -> n (b, s)) -> StateT s m a -> StateT s n b
- mrgWithStateT :: forall (m :: Type -> Type) s a. (TryMerge m, Mergeable s, Mergeable a) => (s -> s) -> StateT s m a -> StateT s m a
- mrgGet :: forall (m :: Type -> Type) s. (Monad m, TryMerge m, Mergeable s) => StateT s m s
- mrgPut :: forall (m :: Type -> Type) s. (Monad m, TryMerge m, Mergeable s) => s -> StateT s m ()
- mrgModify :: forall (m :: Type -> Type) s. (Monad m, TryMerge m, Mergeable s) => (s -> s) -> StateT s m ()
- mrgModify' :: forall (m :: Type -> Type) s. (Monad m, TryMerge m, Mergeable s) => (s -> s) -> StateT s m ()
- mrgGets :: forall (m :: Type -> Type) s a. (Monad m, TryMerge m, Mergeable s, Mergeable a) => (s -> a) -> StateT s m a
mrg* variants for operations in Control.Monad.Trans.State.Lazy
mrgState :: forall (m :: Type -> Type) s a. (Monad m, TryMerge m, Mergeable s, Mergeable a) => (s -> (a, s)) -> StateT s m a Source #
state
with MergingStrategy
knowledge propagation.
mrgRunStateT :: (Monad m, TryMerge m, Mergeable s, Mergeable a) => StateT s m a -> s -> m (a, s) Source #
runStateT
with
MergingStrategy
knowledge propagation.
mrgEvalStateT :: (Monad m, TryMerge m, Mergeable a) => StateT s m a -> s -> m a Source #
evalStateT
with
MergingStrategy
knowledge propagation.
mrgExecStateT :: (Monad m, TryMerge m, Mergeable s) => StateT s m a -> s -> m s Source #
execStateT
with
MergingStrategy
knowledge propagation.
mrgMapStateT :: (TryMerge n, Mergeable b, Mergeable s) => (m (a, s) -> n (b, s)) -> StateT s m a -> StateT s n b Source #
mapStateT
with
MergingStrategy
knowledge propagation.
mrgWithStateT :: forall (m :: Type -> Type) s a. (TryMerge m, Mergeable s, Mergeable a) => (s -> s) -> StateT s m a -> StateT s m a Source #
withStateT
with
MergingStrategy
knowledge propagation.
mrgGet :: forall (m :: Type -> Type) s. (Monad m, TryMerge m, Mergeable s) => StateT s m s Source #
get
with MergingStrategy
knowledge propagation.
mrgPut :: forall (m :: Type -> Type) s. (Monad m, TryMerge m, Mergeable s) => s -> StateT s m () Source #
put
with MergingStrategy
knowledge propagation.
mrgModify :: forall (m :: Type -> Type) s. (Monad m, TryMerge m, Mergeable s) => (s -> s) -> StateT s m () Source #
modify
with
MergingStrategy
knowledge propagation.