definitive-base-2.3: The base modules of the Definitive framework.

Safe HaskellNone
LanguageHaskell2010

Algebra.Monad.Error

Contents

Synopsis

The MonadError class

class Monad m => MonadError e m | m -> e where Source

Methods

throw :: e -> m a Source

catch :: (e -> m a) -> m a -> m a Source

try :: MonadError e m => m a -> m a -> m a Source

(!+) :: MonadError Void m => m a -> m a -> m a infixr 0 Source

optional :: MonadError e m => m a -> m (Maybe a) Source

The Either transformer

data EitherT e m a Source

Instances

eitherT :: Functor m => Iso (EitherT e m a) (EitherT f m b) (m (e :+: a)) (m (f :+: b)) Source