transformers-abort-0.1: A better error monad transformer

Control.Monad.Trans.Abort

Documentation

type Abort e α = AbortT e Identity αSource

runAbort :: Abort e α -> Either e αSource

runAbort' :: Abort α α -> αSource

newtype AbortT e μ α Source

Constructors

AbortT 

Fields

runAbortT :: μ (Either e α)
 

Instances

Monad μ => Failure e (AbortT e μ) 
MonadTrans (AbortT e) 
MonadTransControl (AbortT e) 
BindTrans (AbortT e) 
Monad μ => Monad (AbortT e μ) 
Functor μ => Functor (AbortT e μ) 
MonadFix μ => MonadFix (AbortT e μ) 
(Monad μ, Default e) => MonadPlus (AbortT e μ) 
(Functor μ, Monad μ) => Applicative (AbortT e μ) 
(Functor μ, Monad μ, Default e) => Alternative (AbortT e μ) 
MonadIO μ => MonadIO (AbortT e μ) 
MonadControlIO μ => MonadControlIO (AbortT e μ) 
Monad μ => Pointed (AbortT e μ) 
(Functor μ, Monad μ, Default e) => Plus (AbortT e μ) 
(Functor μ, Monad μ) => Alt (AbortT e μ) 
(Functor μ, Monad μ) => Apply (AbortT e μ) 
(Functor μ, Monad μ) => Bind (AbortT e μ) 
MonadBase μ η => MonadBase (AbortT e μ) η 

runAbortT' :: Monad μ => AbortT α μ α -> μ αSource

abort :: Monad μ => e -> AbortT e μ αSource

recover :: Monad μ => AbortT e μ α -> (e -> AbortT e μ α) -> AbortT e μ αSource