transformers-abort-0.5.0.1: A better error monad transformer

Safe HaskellSafe-Inferred
LanguageHaskell98

Control.Monad.Trans.Abort

Documentation

type Abort e α = AbortT e Identity α Source

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

newtype AbortT e μ α Source

Constructors

AbortT 

Fields

runAbortT :: μ (Either e α)
 

Instances

MonadBase η μ => MonadBase η (AbortT e μ) 
MonadBaseControl η μ => MonadBaseControl η (AbortT e μ) 
MonadTrans (AbortT e) 
MonadTransControl (AbortT e) 
BindTrans (AbortT e) 
(Functor μ, Monad μ, Default e) => Alternative (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 μ) 
MonadIO μ => MonadIO (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 μ) 
type StT (AbortT e) α = Either e α 
type StM (AbortT e μ) α = ComposeSt (AbortT e) μ α 

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

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