ether-0.4.2.0: Monad transformers and classes

Safe HaskellNone
LanguageHaskell2010

Control.Monad.Ether.Except.Class

Description

Synopsis

Documentation

class Monad m => MonadExcept tag e m | m tag -> e where Source #

Minimal complete definition

throw, catch

Methods

throw :: proxy tag -> e -> m a Source #

Is used within a monadic computation to begin exception processing.

catch :: proxy tag -> m a -> (e -> m a) -> m a Source #

A handler function to handle previous exceptions and return to normal execution.

Instances

(LiftCatch t, Monad (t m), MonadExcept k tag e m) => MonadExcept k tag e (t m) Source # 

Methods

throw :: proxy e -> t m -> m a Source #

catch :: proxy e -> m a -> (t m -> m a) -> m a Source #

(Monad m, (~) * e e') => MonadExcept k tag e (ExceptT k tag e' m) Source # 

Methods

throw :: proxy e -> ExceptT k tag e' m -> m a Source #

catch :: proxy e -> m a -> (ExceptT k tag e' m -> m a) -> m a Source #