Safe Haskell | None |
---|---|
Language | Haskell98 |
Error monad transformer and monad type classes for raising errors and recovering from them.
- class (Applicative μ, Monad μ) => MonadAbort e μ | μ -> e where
- class MonadAbort e μ => MonadRecover e μ | μ -> e where
- onError :: MonadRecover e μ => μ α -> (e -> μ β) -> μ α
- onError_ :: MonadRecover e μ => μ α -> μ β -> μ α
- type Abort e α = AbortT e Identity α
- runAbort :: Abort e α -> Either e α
- newtype AbortT e μ α :: * -> (* -> *) -> * -> * = AbortT {}
- module Control.Monad
- module Control.Monad.Fix
- module Control.Monad.Trans
Documentation
class (Applicative μ, Monad μ) => MonadAbort e μ | μ -> e where Source #
Class of monads that support raising of errors.
MonadAbort SomeException IO Source # | |
MonadAbort e μ => MonadAbort e (ListT μ) Source # | |
MonadAbort e μ => MonadAbort e (MaybeT μ) Source # | |
(Functor μ, Monad μ) => MonadAbort e (ExceptT e μ) Source # | |
(Functor μ, Monad μ, Error e) => MonadAbort e (ErrorT e μ) Source # | |
(MonadAbort e μ, Monoid w) => MonadAbort e (WriterT w μ) Source # | |
(MonadAbort e μ, Monoid w) => MonadAbort e (WriterT w μ) Source # | |
MonadAbort e μ => MonadAbort e (StateT s μ) Source # | |
MonadAbort e μ => MonadAbort e (StateT s μ) Source # | |
MonadAbort e μ => MonadAbort e (IdentityT * μ) Source # | |
(Functor μ, Monad μ) => MonadAbort e (AbortT e μ) Source # | |
MonadAbort e μ => MonadAbort e (ReaderT * r μ) Source # | |
MonadAbort e μ => MonadAbort e (ContT * r μ) Source # | |
(MonadAbort e μ, Monoid w) => MonadAbort e (RWST r w s μ) Source # | |
(MonadAbort e μ, Monoid w) => MonadAbort e (RWST r w s μ) Source # | |
class MonadAbort e μ => MonadRecover e μ | μ -> e where Source #
Class of monads that support recovery from errors.
MonadRecover SomeException IO Source # | |
MonadRecover e μ => MonadRecover e (ListT μ) Source # | |
MonadRecover e μ => MonadRecover e (MaybeT μ) Source # | |
(Functor μ, Monad μ) => MonadRecover e (ExceptT e μ) Source # | |
(Functor μ, Monad μ, Error e) => MonadRecover e (ErrorT e μ) Source # | |
(MonadRecover e μ, Monoid w) => MonadRecover e (WriterT w μ) Source # | |
(MonadRecover e μ, Monoid w) => MonadRecover e (WriterT w μ) Source # | |
MonadRecover e μ => MonadRecover e (StateT s μ) Source # | |
MonadRecover e μ => MonadRecover e (StateT s μ) Source # | |
MonadRecover e μ => MonadRecover e (IdentityT * μ) Source # | |
(Functor μ, Monad μ) => MonadRecover e (AbortT e μ) Source # | |
MonadRecover e μ => MonadRecover e (ReaderT * r μ) Source # | |
(MonadRecover e μ, Monoid w) => MonadRecover e (RWST r w s μ) Source # | |
(MonadRecover e μ, Monoid w) => MonadRecover e (RWST r w s μ) Source # | |
onError :: MonadRecover e μ => μ α -> (e -> μ β) -> μ α Source #
Run an action on error, without recovering from it.
onError_ :: MonadRecover e μ => μ α -> μ β -> μ α Source #
Run an action on error (ignoring the error value), without recovering from it.
newtype AbortT e μ α :: * -> (* -> *) -> * -> * #
A monad transformer that extends monad μ
with the ability
to raise errors of type e
and to recover from them.
module Control.Monad
module Control.Monad.Fix
module Control.Monad.Trans