Safe Haskell | Safe |
---|---|
Language | Haskell98 |
Network.Gitit.Compat.Except
- data ExceptT e m a :: * -> (* -> *) -> * -> *
- type Except e = ExceptT e Identity
- class Error a where
- runExceptT :: ExceptT e m a -> m (Either e a)
- runExcept :: Except e a -> Either e a
- class Monad m => MonadError e m | m -> e where
- throwError :: MonadError e m => forall a. e -> m a
- catchError :: MonadError e m => forall a. m a -> (e -> m a) -> m a
Documentation
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.
Instances
WebMonad a m => WebMonad a (ExceptT e m) | |
FilterMonad a m => FilterMonad a (ExceptT e m) | |
MonadReader r m => MonadReader r (ExceptT e m) | |
MonadState s m => MonadState s (ExceptT e m) | |
Monad m => MonadError e (ExceptT e m) | |
MonadBaseControl b m => MonadBaseControl b (ExceptT e m) | |
MonadTrans (ExceptT e) | |
MonadTransControl (ExceptT e) | |
Monad m => Monad (ExceptT e m) | |
Functor m => Functor (ExceptT e m) | |
MonadFix m => MonadFix (ExceptT e m) | |
MonadFail m => MonadFail (ExceptT e m) | |
(Functor m, Monad m) => Applicative (ExceptT e m) | |
Foldable f => Foldable (ExceptT e f) | |
Traversable f => Traversable (ExceptT e f) | |
(Eq e, Eq1 m) => Eq1 (ExceptT e m) | |
(Ord e, Ord1 m) => Ord1 (ExceptT e m) | |
(Read e, Read1 m) => Read1 (ExceptT e m) | |
(Show e, Show1 m) => Show1 (ExceptT e m) | |
MonadZip m => MonadZip (ExceptT e m) | |
MonadIO m => MonadIO (ExceptT e m) | |
(Functor m, Monad m, Monoid e) => Alternative (ExceptT e m) | |
(Monad m, Monoid e) => MonadPlus (ExceptT e m) | |
(Monad m, HasDynFlags m) => HasDynFlags (ExceptT e m) | |
MonadResource m => MonadResource (ExceptT e m) | |
(Monad m, HasRqData m) => HasRqData (ExceptT e m) | |
(Happstack m, Monoid e) => Happstack (ExceptT e m) | |
ServerMonad m => ServerMonad (ExceptT e m) | |
PrimMonad m => PrimMonad (ExceptT e m) | |
(Eq e, Eq1 m, Eq a) => Eq (ExceptT e m a) | |
(Ord e, Ord1 m, Ord a) => Ord (ExceptT e m a) | |
(Read e, Read1 m, Read a) => Read (ExceptT e m a) | |
(Show e, Show1 m, Show a) => Show (ExceptT e m a) | |
type StT (ExceptT e) a | |
type PrimState (ExceptT e m) | |
type StM (ExceptT e m) a | |
runExceptT :: ExceptT e m a -> m (Either e a) #
The inverse of ExceptT
.
runExcept :: Except e a -> Either e a #
Extractor for computations in the exception monad.
(The inverse of except
).
class Monad m => MonadError e m | m -> e where #
Minimal complete definition
Instances
MonadError IOException IO | |
MonadError e m => MonadError e (MaybeT m) | |
MonadError e m => MonadError e (ListT m) | |
MonadError e (Either e) | |
MonadError e m => MonadError e (ResourceT m) | |
MonadError e m => MonadError e (WebT m) | |
(Monad m, MonadError e m) => MonadError e (ServerPartT m) | |
(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 (ReaderT * r m) | |
MonadError e m => MonadError e (ParsecT s u m) | |
MonadError e m => MonadError e (ConduitM i o 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 (Pipe l i o u m) | |
throwError :: MonadError e m => forall a. e -> m a #
catchError :: MonadError e m => forall a. m a -> (e -> m a) -> m a #