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 |
Synopsis
- mrgState :: (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 :: (TryMerge m, Mergeable s, Mergeable a) => (s -> s) -> StateT s m a -> StateT s m a
- mrgGet :: (Monad m, TryMerge m, Mergeable s) => StateT s m s
- mrgPut :: (Monad m, TryMerge m, Mergeable s) => s -> StateT s m ()
- mrgModify :: (Monad m, TryMerge m, Mergeable s) => (s -> s) -> StateT s m ()
- mrgModify' :: (Monad m, TryMerge m, Mergeable s) => (s -> s) -> StateT s m ()
- mrgGets :: (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 :: (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 :: (TryMerge m, Mergeable s, Mergeable a) => (s -> s) -> StateT s m a -> StateT s m a Source #
withStateT
with MergingStrategy
knowledge propagation.
mrgGet :: (Monad m, TryMerge m, Mergeable s) => StateT s m s Source #
get
with MergingStrategy
knowledge
propagation.
mrgPut :: (Monad m, TryMerge m, Mergeable s) => s -> StateT s m () Source #
put
with MergingStrategy
knowledge
propagation.
mrgModify :: (Monad m, TryMerge m, Mergeable s) => (s -> s) -> StateT s m () Source #
modify
with MergingStrategy
knowledge
propagation.