either-0.2.2.1: Haskell 98 either monad transformer

Control.Monad.Trans.Either

Documentation

newtype EitherT e m a Source

Constructors

EitherT 

Fields

runEitherT :: m (Either e a)
 

Instances

MonadTrans (EitherT e) 
Monad m => Monad (EitherT e m) 
Functor m => Functor (EitherT e m) 
MonadFix m => MonadFix (EitherT e m) 
(Monad m, Default e) => MonadPlus (EitherT e m) 
(Functor m, Monad m) => Applicative (EitherT e m) 
Foldable m => Foldable (EitherT e m) 
Traversable f => Traversable (EitherT e f) 
(Functor m, Monad m, Default e) => Alternative (EitherT e m) 
(Functor m, Monad m, Default e) => Plus (EitherT e m) 
(Functor m, Monad m) => Alt (EitherT e m) 
(Functor m, Monad m) => Apply (EitherT e m) 
(Functor m, Monad m) => Bind (EitherT e m) 
MonadIO m => MonadIO (EitherT e m) 
Eq (m (Either e a)) => Eq (EitherT e m a) 
Ord (m (Either e a)) => Ord (EitherT e m a) 
Read (m (Either e a)) => Read (EitherT e m a) 
Show (m (Either e a)) => Show (EitherT e m a) 
(Monad m, Default e) => Monoid (EitherT e m a) 
Monad m => Semigroup (EitherT e m a) 

eitherT :: Monad m => (a -> m c) -> (b -> m c) -> EitherT a m b -> m cSource

hoistEither :: Monad m => Either e a -> EitherT e m aSource