catch-fd-0.1.0.0: MonadThrow and MonadCatch, using functional dependencies

Safe HaskellSafe-Inferred

Control.Monad.Catch

Documentation

class Monad m => MonadThrow e m | m -> e whereSource

Methods

throw :: e -> m aSource

Instances

MonadThrow IOException IO 
(Monad (WrappedMonadError m), MonadError e m) => MonadThrow e (WrappedMonadError m) 
Monad (Either e) => MonadThrow e (Either e) 
(Monad (MaybeT m), MonadThrow e m) => MonadThrow e (MaybeT m) 
(Monad (ListT m), MonadThrow e m) => MonadThrow e (ListT m) 
(Monad (IdentityT m), MonadThrow e m) => MonadThrow e (IdentityT m) 
(Monad (WriterT w m), Monoid w, MonadThrow e m) => MonadThrow e (WriterT w m) 
(Monad (WriterT w m), Monoid w, MonadThrow e m) => MonadThrow e (WriterT w m) 
(Monad (StateT s m), MonadThrow e m) => MonadThrow e (StateT s m) 
(Monad (StateT s m), MonadThrow e m) => MonadThrow e (StateT s m) 
(Monad (ReaderT r m), MonadThrow e m) => MonadThrow e (ReaderT r m) 
(Monad (ErrorT e m), Error e, Monad m) => MonadThrow e (ErrorT e m) 
(Monad (RWST r w s m), Monoid w, MonadThrow e m) => MonadThrow e (RWST r w s m) 
(Monad (RWST r w s m), Monoid w, MonadThrow e m) => MonadThrow e (RWST r w s m) 

class (MonadThrow e m, Monad n) => MonadCatch e m n | m -> e, n e -> m whereSource

Methods

catch :: m a -> (e -> n a) -> n aSource

Instances

MonadCatch IOException IO IO 
(MonadThrow e (WrappedMonadError m), Monad (WrappedMonadError m), MonadError e m) => MonadCatch e (WrappedMonadError m) (WrappedMonadError m) 
(MonadThrow e (Either e), Monad (Either e')) => MonadCatch e (Either e) (Either e') 
(MonadThrow e (MaybeT m), Monad (MaybeT n), MonadCatch e m n) => MonadCatch e (MaybeT m) (MaybeT n) 
(MonadThrow e (ListT m), Monad (ListT n), MonadCatch e m n) => MonadCatch e (ListT m) (ListT n) 
(MonadThrow e (IdentityT m), Monad (IdentityT n), MonadCatch e m n) => MonadCatch e (IdentityT m) (IdentityT n) 
(MonadThrow e (WriterT w m), Monad (WriterT w n), Monoid w, MonadCatch e m n) => MonadCatch e (WriterT w m) (WriterT w n) 
(MonadThrow e (WriterT w m), Monad (WriterT w n), Monoid w, MonadCatch e m n) => MonadCatch e (WriterT w m) (WriterT w n) 
(MonadThrow e (StateT s m), Monad (StateT s n), MonadCatch e m n) => MonadCatch e (StateT s m) (StateT s n) 
(MonadThrow e (StateT s m), Monad (StateT s n), MonadCatch e m n) => MonadCatch e (StateT s m) (StateT s n) 
(MonadThrow e (ReaderT r m), Monad (ReaderT r n), MonadCatch e m n) => MonadCatch e (ReaderT r m) (ReaderT r n) 
(MonadThrow e (ErrorT e m), Monad (ErrorT e' m), Error e, Error e', Monad m) => MonadCatch e (ErrorT e m) (ErrorT e' m) 
(MonadThrow e (RWST r w s m), Monad (RWST r w s n), Monoid w, MonadCatch e m n) => MonadCatch e (RWST r w s m) (RWST r w s n) 
(MonadThrow e (RWST r w s m), Monad (RWST r w s n), Monoid w, MonadCatch e m n) => MonadCatch e (RWST r w s m) (RWST r w s n) 

type MonadError e m = (MonadThrow e m, MonadCatch e m m)Source

mapE :: (MonadThrow e' n, MonadCatch e m n) => (e -> e') -> m a -> n aSource