either-3.0.3: Haskell 98 either monad transformer

Safe HaskellNone

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) 
(Monad (EitherT e m), MonadFix m) => MonadFix (EitherT e m) 
(Functor (EitherT e m), Functor m, Monad m) => Applicative (EitherT e m) 
Foldable m => Foldable (EitherT e m) 
(Functor (EitherT e f), Foldable (EitherT e f), Traversable f) => Traversable (EitherT e f) 
(Functor (EitherT e m), Functor m, Monad m) => Alt (EitherT e m) 
(Functor (EitherT e m), Functor m, Monad m) => Apply (EitherT e m) 
(Apply (EitherT e m), Functor m, Monad m) => Bind (EitherT e m) 
(Monad (EitherT e m), MonadIO m) => MonadIO (EitherT e m) 
Eq (m (Either e a)) => Eq (EitherT e m 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 => Semigroup (EitherT e m a) 

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

mapEitherT :: Functor m => (e -> f) -> (a -> b) -> EitherT e m a -> EitherT f m bSource

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

left :: Monad m => e -> EitherT e m aSource

right :: Monad m => a -> EitherT e m aSource