either-3.0.2: Haskell 98 either monad transformer

Safe HaskellSafe-Infered

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) 
(Functor m, Monad m) => Applicative (EitherT e m) 
Foldable m => Foldable (EitherT e m) 
Traversable f => Traversable (EitherT e f) 
(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 => 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