Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
Wrapper for Control.Monad.Except from the mtl library (>= 2.2.1)
- class Error a where
- data ExceptT e (m :: * -> *) a :: * -> (* -> *) -> * -> *
- mapExceptT :: (m (Either e a) -> n (Either e' b)) -> ExceptT e m a -> ExceptT e' n b
- mkExceptT :: m (Either e a) -> ExceptT e m a
- class Monad m => MonadError e (m :: * -> *) | m -> e where
- runExceptT :: ExceptT e m a -> m (Either e a)
Documentation
Error class for backward compatibility (from Control.Monad.Trans.Error in transformers 0.3.0.0).
data ExceptT e (m :: * -> *) a :: * -> (* -> *) -> * -> * #
A monad transformer that adds exceptions to other monads.
ExceptT
constructs a monad parameterized over two things:
- e - The exception type.
- m - The inner monad.
The return
function yields a computation that produces the given
value, while >>=
sequences two subcomputations, exiting on the
first exception.
mapExceptT :: (m (Either e a) -> n (Either e' b)) -> ExceptT e m a -> ExceptT e' n b #
Map the unwrapped computation using the given function.
runExceptT
(mapExceptT
f m) = f (runExceptT
m)
mkExceptT :: m (Either e a) -> ExceptT e m a Source #
We cannot define data constructors synonymous, so we define the
mkExceptT
function to be used instead of the data constructor
ExceptT
.
class Monad m => MonadError e (m :: * -> *) | m -> e where #
throwError :: e -> m a #
catchError :: m a -> (e -> m a) -> m a #
MonadError () Maybe | |
MonadError IOException IO | |
MonadError ParseError Parser # | |
MonadError ParseError PM # | |
MonadError DeclarationException Nice # | |
MonadError TCErr IM # | |
MonadError TCErr TerM # | |
MonadError e m => MonadError e (MaybeT m) | |
MonadError e m => MonadError e (ListT m) | |
MonadError e (Either e) | |
MonadError TCErr (TCMT IO) # | |
(Monoid w, MonadError e m) => MonadError e (WriterT w m) | |
(Monoid w, MonadError e m) => MonadError e (WriterT w m) | |
MonadError e m => MonadError e (StateT s m) | |
MonadError e m => MonadError e (StateT s m) | |
MonadError e m => MonadError e (IdentityT * m) | |
Monad m => MonadError e (ExceptT e m) | |
(Monad m, Error e) => MonadError e (ErrorT e m) | |
MonadError e m => MonadError e (STT s m) | |
MonadError e m => MonadError e (ReaderT * r m) | |
(Monoid w, MonadError e m) => MonadError e (RWST r w s m) | |
(Monoid w, MonadError e m) => MonadError e (RWST r w s m) | |
MonadError e m => MonadError e (EquivT s c v m) | |
runExceptT :: ExceptT e m a -> m (Either e a) #
The inverse of ExceptT
.