Portability | non-portable (multi-param classes, functional dependencies) |
---|---|
Maintainer | Mark Snyder, marks@ittc.ku.edu |
Error monads.
This module is inspired by the paper /Functional Programming with Overloading and Higher-Order Polymorphism/, Mark P Jones (http://web.cecs.pdx.edu/~mpj/) Advanced School of Functional Programming, 1995.
Documentation
module Control.Monad.ErrorX.Class
newtype ErrorTX ix e m a Source
ErrorTX | |
|
(ErrorX ix e, MonadRWS r w s m, Index ix) => MonadRWS r w s (ErrorTX ix e m) | |
(ErrorX ixe e, MonadReaderX ixr r m, Index ixr, Index ixe) => MonadReaderX ixr r (ErrorTX ixe e m) | |
(ErrorX ixe e, Index ixs, MonadStateX ixs s m, Index ixe) => MonadStateX ixs s (ErrorTX ixe e m) | |
(ErrorX ixe e, Index ixw, MonadWriterX ixw w m, Index ixe) => MonadWriterX ixw w (ErrorTX ixe e m) | |
(Monad m, ErrorX ix1 e1, ErrorX ix2 e2, Index ix1, Index ix2, MonadErrorX ix1 e1 m) => MonadErrorX ix1 e1 (ErrorTX ix2 e2 m) | |
(Monad m, ErrorX ix e, Index ix) => MonadErrorX ix e (ErrorTX ix e m) | |
(ErrorX ix e, MonadReader r m, Index ix) => MonadReader r (ErrorTX ix e m) | |
(ErrorX ix e, MonadState s m, Index ix) => MonadState s (ErrorTX ix e m) | |
(ErrorX ix e, MonadWriter w m, Index ix) => MonadWriter w (ErrorTX ix e m) | |
(ErrorX ix e, Index ix) => MonadTrans (ErrorTX ix e) | |
(Monad m, ErrorX ix e, Index ix) => Monad (ErrorTX ix e m) | |
(Monad m, Index ix) => Functor (ErrorTX ix e m) | |
(MonadFix m, ErrorX ix e, Index ix) => MonadFix (ErrorTX ix e m) | |
(Monad m, ErrorX ix e, Index ix) => MonadPlus (ErrorTX ix e m) | |
(ErrorX ix e, MonadIO m, Index ix) => MonadIO (ErrorTX ix e m) | |
(ErrorX ix e, MonadCont m, Index ix) => MonadCont (ErrorTX ix e m) |
runErrorTX :: Index ix => ix -> ErrorTX ix e m a -> m (Either e a)Source
mapErrorTX :: Index ix => ix -> (m (Either e a) -> n (Either e' b)) -> ErrorTX ix e m a -> ErrorTX ix e' n bSource
module Control.Monad
module Control.Monad.Fix
module Control.Monad.Trans
module Control.Monad.Index