Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
- type EitherT = ExceptT
- data ExceptT e (m :: * -> *) a :: * -> (* -> *) -> * -> *
- newEitherT :: f (Either e a) -> EitherT e f a
- runEitherT :: EitherT e f a -> f (Either e a)
- eitherT :: Monad m => (x -> m b) -> (a -> m b) -> EitherT x m a -> m b
- mapEitherT :: (m (Either x a) -> n (Either y b)) -> EitherT x m a -> EitherT y n b
- bimapEitherT :: Functor m => (x -> y) -> (a -> b) -> EitherT x m a -> EitherT y m b
- firstEitherT :: Functor m => (x -> y) -> EitherT x m a -> EitherT y m a
- secondEitherT :: Functor m => (a -> b) -> EitherT x m a -> EitherT x m b
- left :: Applicative f => e -> EitherT e f 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.
MonadTrans (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) | |
(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) | |
newEitherT :: f (Either e a) -> EitherT e f a Source #
runEitherT :: EitherT e f a -> f (Either e a) Source #
left :: Applicative f => e -> EitherT e f a Source #