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

Grisette.Lib.Control.Monad.Except

Description

 
Synopsis

mrg* variants for operations in Control.Monad.Except

mrgThrowError :: (MonadError e m, TryMerge m, Mergeable a) => e -> m a Source #

throwError with MergingStrategy knowledge propagation.

mrgCatchError :: (MonadError e m, TryMerge m, Mergeable a) => m a -> (e -> m a) -> m a Source #

catchError with MergingStrategy knowledge propagation.

mrgLiftEither :: (MonadError e m, TryMerge m, Mergeable a, Mergeable e) => Either e a -> m a Source #

liftEither with MergingStrategy knowledge propagation.

mrgTryError :: (MonadError e m, TryMerge m, Mergeable a, Mergeable e) => m a -> m (Either e a) Source #

tryError with MergingStrategy knowledge propagation.

mrgWithError :: (MonadError e m, TryMerge m, Mergeable a, Mergeable e) => (e -> e) -> m a -> m a Source #

withError with MergingStrategy knowledge propagation.

mrgHandleError :: (MonadError e m, TryMerge m, Mergeable a, Mergeable e) => (e -> m a) -> m a -> m a Source #

handleError with MergingStrategy knowledge propagation.

mrgMapError :: (MonadError e m, TryMerge m, MonadError e' n, TryMerge n, Mergeable a, Mergeable b, Mergeable e, Mergeable e') => (m (Either e a) -> n (Either e' b)) -> m a -> n b Source #

mapError with MergingStrategy knowledge propagation.

mrgModifyError :: (MonadError e' m, TryMerge m, Mergeable a, Mergeable e, Mergeable e) => (e -> e') -> ExceptT e m a -> m a Source #

modifyError with MergingStrategy knowledge propagation.