mtl-1.0: Monad transformer libraryContentsIndex
Portabilitynon-portable (multi-parameter type classes)

The Error monad.

Rendered by Michael Weber, inspired by the Haskell Monad Template Library from Andy Gill (

class Error a where
noMsg :: a
strMsg :: String -> a
show/hide Instances
class Monad m => MonadError e m | m -> e where
throwError :: e -> m a
catchError :: m a -> (e -> m a) -> m a
show/hide Instances
newtype ErrorT e m a
runErrorT :: (m (Either e a))
show/hide Instances
(Monad m, Error e) => MonadError e (ErrorT e m)
(Error e, MonadReader r m) => MonadReader r (ErrorT e m)
(Error e, MonadState s m) => MonadState s (ErrorT e m)
(Error e, MonadWriter w m) => MonadWriter w (ErrorT e m)
Error e => MonadTrans (ErrorT e)
Monad m => Functor (ErrorT e m)
(Monad m, Error e) => Monad (ErrorT e m)
(Error e, MonadCont m) => MonadCont (ErrorT e m)
(MonadFix m, Error e) => MonadFix (ErrorT e m)
(Error e, MonadIO m) => MonadIO (ErrorT e m)
(Monad m, Error e) => MonadPlus (ErrorT e m)
mapErrorT :: (m (Either e a) -> n (Either e' b)) -> ErrorT e m a -> ErrorT e' n b
module Control.Monad
module Control.Monad.Fix
module Control.Monad.Trans
Produced by Haddock version 0.8