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.
Instances36MonadRWS, Generic1, MonadAccum, MonadError, MonadReader, MonadState, …
MonadRWS r w s m => MonadRWS r w s (ExceptT e m)Defined in mtl-2.3.1 · Control.Monad.RWS.ClassFunctor m => Generic1 (ExceptT e m)Defined in transformers-0.6.1.1 · Control.Monad.Trans.ExceptMonadAccum w m => MonadAccum w (ExceptT e m)Defined in mtl-2.3.1 · Control.Monad.AccumThe accumulated value 'survives' an exception: even if the computation fails to deliver a result, we still have an accumulated value.
Monad m => MonadError e (ExceptT e m)Defined in mtl-2.3.1 · Control.Monad.Error.ClassMonadReader r m => MonadReader r (ExceptT e m)Defined in mtl-2.3.1 · Control.Monad.Reader.ClassMonadState s m => MonadState s (ExceptT e m)Defined in mtl-2.3.1 · Control.Monad.State.ClassMonadWriter w m => MonadWriter w (ExceptT e m)Defined in mtl-2.3.1 · Control.Monad.Writer.ClassMonadSelect r m => MonadSelect r (ExceptT e m)Defined in mtl-2.3.1 · Control.Monad.SelectMonadTrans (ExceptT e)Defined in transformers-0.6.1.1 · Control.Monad.Trans.ExceptMonad m => Monad (ExceptT e m)Defined in transformers-0.6.1.1 · Control.Monad.Trans.ExceptFunctor m => Functor (ExceptT e m)Defined in transformers-0.6.1.1 · Control.Monad.Trans.ExceptMonadFix m => MonadFix (ExceptT e m)Defined in transformers-0.6.1.1 · Control.Monad.Trans.ExceptMonadFail m => MonadFail (ExceptT e m)Defined in transformers-0.6.1.1 · Control.Monad.Trans.Except(Functor m, Monad m) => Applicative (ExceptT e m)Defined in transformers-0.6.1.1 · Control.Monad.Trans.ExceptFoldable f => Foldable (ExceptT e f)Defined in transformers-0.6.1.1 · Control.Monad.Trans.ExceptTraversable f => Traversable (ExceptT e f)Defined in transformers-0.6.1.1 · Control.Monad.Trans.Except(Functor m, Monad m, Monoid e) => Alternative (ExceptT e m)Defined in transformers-0.6.1.1 · Control.Monad.Trans.Except(Monad m, Monoid e) => MonadPlus (ExceptT e m)Defined in transformers-0.6.1.1 · Control.Monad.Trans.ExceptMonadIO m => MonadIO (ExceptT e m)Defined in transformers-0.6.1.1 · Control.Monad.Trans.ExceptMonadZip m => MonadZip (ExceptT e m)Defined in transformers-0.6.1.1 · Control.Monad.Trans.Except(Eq e, Eq1 m) => Eq1 (ExceptT e m)Defined in transformers-0.6.1.1 · Control.Monad.Trans.Except(Ord e, Ord1 m) => Ord1 (ExceptT e m)Defined in transformers-0.6.1.1 · Control.Monad.Trans.Except(Read e, Read1 m) => Read1 (ExceptT e m)Defined in transformers-0.6.1.1 · Control.Monad.Trans.Except(Show e, Show1 m) => Show1 (ExceptT e m)Defined in transformers-0.6.1.1 · Control.Monad.Trans.ExceptContravariant m => Contravariant (ExceptT e m)Defined in transformers-0.6.1.1 · Control.Monad.Trans.ExceptMonadCont m => MonadCont (ExceptT e m)Defined in mtl-2.3.1 · Control.Monad.Cont.ClassMonadCatch m => MonadCatch (ExceptT e m)Defined in exceptions-0.10.9 · Control.Monad.CatchCatches exceptions from the base monad.
MonadMask m => MonadMask (ExceptT e m)Defined in exceptions-0.10.9 · Control.Monad.CatchMonadThrow m => MonadThrow (ExceptT e m)Defined in exceptions-0.10.9 · Control.Monad.CatchThrows exceptions into the base monad.
(Eq e, Eq1 m, Eq a) => Eq (ExceptT e m a)Defined in transformers-0.6.1.1 · Control.Monad.Trans.Except(Ord e, Ord1 m, Ord a) => Ord (ExceptT e m a)Defined in transformers-0.6.1.1 · Control.Monad.Trans.Except(Read e, Read1 m, Read a) => Read (ExceptT e m a)Defined in transformers-0.6.1.1 · Control.Monad.Trans.Except(Show e, Show1 m, Show a) => Show (ExceptT e m a)Defined in transformers-0.6.1.1 · Control.Monad.Trans.ExceptGeneric (ExceptT e m a)Defined in transformers-0.6.1.1 · Control.Monad.Trans.Excepttype Rep (ExceptT e m a) = D1 ('MetaDataDefined in transformers-0.6.1.1 · Control.Monad.Trans.Except"ExceptT"
"Control.Monad.Trans.Except"
"transformers-0.6.1.1-a11a"
'True) (C1 ('MetaCons"ExceptT"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (m (Either e a)))))type Rep1 (ExceptT e m) = D1 ('MetaDataDefined in transformers-0.6.1.1 · Control.Monad.Trans.Except"ExceptT"
"Control.Monad.Trans.Except"
"transformers-0.6.1.1-a11a"
'True) (C1 ('MetaCons"ExceptT"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (m :.: Rec1 (Either e))))