Copyright | (c) Sirui Lu 2021-2024 |
---|---|
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, TryMerge m, Mergeable a) => e -> m a
- mrgCatchError :: (MonadError e m, TryMerge m, Mergeable a) => m a -> (e -> m a) -> m a
- mrgLiftEither :: (MonadError e m, TryMerge m, Mergeable a, Mergeable e) => Either e a -> m a
- mrgTryError :: (MonadError e m, TryMerge m, Mergeable a, Mergeable e) => m a -> m (Either e a)
- mrgWithError :: (MonadError e m, TryMerge m, Mergeable a, Mergeable e) => (e -> e) -> m a -> m a
- mrgHandleError :: (MonadError e m, TryMerge m, Mergeable a, Mergeable e) => (e -> m a) -> m a -> m a
- 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
- mrgModifyError :: (MonadError e' m, TryMerge m, Mergeable a, Mergeable e, Mergeable e) => (e -> e') -> ExceptT e m a -> m a
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.