Copyright | (c) Sirui Lu 2021-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
- mrgThrowError :: (MonadError e m, MonadUnion m, Mergeable a) => e -> m a
- mrgCatchError :: (MonadError e m, MonadUnion m, Mergeable a) => m a -> (e -> m a) -> m a
- mrgLift :: forall t m a. (MonadUnion (t m), MonadTrans t, Monad m, Mergeable a) => m a -> t m a
- mrgRunContT :: (UnionLike m, Mergeable r) => ContT r m a -> (a -> m r) -> m r
- mrgEvalContT :: (UnionLike m, Mergeable r, Monad m) => ContT r m r -> m r
- mrgResetT :: (UnionLike m, Mergeable r, Monad m) => Monad m => ContT r m r -> ContT r' m r
Symbolic or mrg* variants for the operations in the mtl (and transformers) package
mrg* variants for operations in Control.Monad.Except
mrgThrowError :: (MonadError e m, MonadUnion m, Mergeable a) => e -> m a Source #
throwError
with MergingStrategy
knowledge propagation.
mrgCatchError :: (MonadError e m, MonadUnion m, Mergeable a) => m a -> (e -> m a) -> m a Source #
catchError
with MergingStrategy
knowledge propagation.
mrg* variants for operations in Control.Monad.Trans
mrgLift :: forall t m a. (MonadUnion (t m), MonadTrans t, Monad m, Mergeable a) => m a -> t m a Source #
lift
with MergingStrategy
knowledge propagation.
mrg* variants for operations in Control.Monad.Trans.Cont
mrgRunContT :: (UnionLike m, Mergeable r) => ContT r m a -> (a -> m r) -> m r Source #
runContT
with MergingStrategy
knowledge propagation
mrgEvalContT :: (UnionLike m, Mergeable r, Monad m) => ContT r m r -> m r Source #
evalContT
with MergingStrategy
knowledge propagation