| Haskell Hierarchical Libraries (mtl package) | Contents | Index
Control.Monad.Error |
Portability | non-portable (multi-parameter type classes)
Stability | experimental
Maintainer | libraries@haskell.org
Description
The Error monad. Rendered by Michael Weber mailto:michael.weber@post.rwth-aachen.de, inspired by the Haskell Monad Template Library from Andy Gill (http://www.cse.ogi.edu/~andy/)
Documentation
class Error a where
Methods
noMsg :: a
strMsg :: String -> a
Instances
Error IOError
Error [Char]
class Monad m => MonadError e m | m -> e where
Methods
throwError :: e -> m a
catchError :: m a -> (e -> m a) -> m a
Instances
MonadError IOError IO
Error e => MonadError e (Either e)
MonadError e m => MonadError e (ListT m)
(Monad m, Error e) => MonadError e (ErrorT e m)
MonadError e m => MonadError e (ReaderT r m)
MonadError e m => MonadError e (StateT s m)
(Monoid w, MonadError e m) => MonadError e (WriterT w m)
(Monoid w, MonadError e m) => MonadError e (RWST r w s m)
newtype ErrorT e m a
Constructors
ErrorT |
runErrorT :: (m (Either e a)) |
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.7