grisette-0.5.0.0: Symbolic evaluation as a library
Copyright(c) Sirui Lu 2023
LicenseBSD-3-Clause (see the LICENSE file)
Maintainersiruilu@cs.washington.edu
StabilityExperimental
PortabilityGHC only
Safe HaskellTrustworthy
LanguageHaskell2010

Grisette.Lib.Control.Monad.Trans.State.Lazy

Description

 
Synopsis

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.

mrgModify' :: (Monad m, TryMerge m, Mergeable s) => (s -> s) -> StateT s m () Source #

modify' with MergingStrategy knowledge propagation.

mrgGets :: (Monad m, TryMerge m, Mergeable s, Mergeable a) => (s -> a) -> StateT s m a Source #

gets with MergingStrategy knowledge propagation.