monad-abort-fd-0.5: A better error monad transformer

Safe HaskellNone
LanguageHaskell98

Control.Monad.Exception

Contents

Documentation

exception :: Exception e => e -> α Source #

forceWHNF :: MonadBase IO μ => α -> μ α Source #

throw :: (MonadAbort SomeException μ, Exception e) => e -> μ α Source #

throwIO :: (MonadBase IO μ, Exception e) => e -> μ α Source #

catch :: (MonadRecover SomeException μ, Exception e) => μ α -> (e -> μ α) -> μ α Source #

catchJust :: (MonadRecover SomeException μ, Exception e) => (e -> Maybe β) -> μ α -> (β -> μ α) -> μ α Source #

handle :: (MonadRecover SomeException μ, Exception e) => (e -> μ α) -> μ α -> μ α Source #

handleJust :: (MonadRecover SomeException μ, Exception e) => (e -> Maybe β) -> (β -> μ α) -> μ α -> μ α Source #

data Handler μ α Source #

Constructors

Exception e => Handler (e -> μ α) 

catches :: MonadRecover SomeException μ => μ α -> [Handler μ α] -> μ α Source #

try :: (MonadRecover SomeException μ, Exception e) => μ α -> μ (Either e α) Source #

tryJust :: (MonadRecover SomeException μ, Exception e) => (e -> Maybe β) -> μ α -> μ (Either β α) Source #

onException :: (MonadRecover SomeException μ, Exception e) => μ α -> (e -> μ β) -> μ α Source #

onExceptions :: MonadRecover SomeException μ => μ α -> [Handler μ β] -> μ α Source #

class (Applicative μ, Monad μ) => MonadFinally μ where Source #

Minimal complete definition

finally'

Methods

finally' :: μ α -> (Maybe α -> μ β) -> μ (α, β) Source #

finally :: μ α -> μ β -> μ α Source #

Instances

MonadFinally IO Source # 

Methods

finally' :: IO α -> (Maybe α -> IO β) -> IO (α, β) Source #

finally :: IO α -> IO β -> IO α Source #

MonadFinally Identity Source # 

Methods

finally' :: Identity α -> (Maybe α -> Identity β) -> Identity (α, β) Source #

finally :: Identity α -> Identity β -> Identity α Source #

MonadFinally μ => MonadFinally (ListT μ) Source # 

Methods

finally' :: ListT μ α -> (Maybe α -> ListT μ β) -> ListT μ (α, β) Source #

finally :: ListT μ α -> ListT μ β -> ListT μ α Source #

MonadFinally μ => MonadFinally (MaybeT μ) Source # 

Methods

finally' :: MaybeT μ α -> (Maybe α -> MaybeT μ β) -> MaybeT μ (α, β) Source #

finally :: MaybeT μ α -> MaybeT μ β -> MaybeT μ α Source #

MonadFinally μ => MonadFinally (ExceptT e μ) Source # 

Methods

finally' :: ExceptT e μ α -> (Maybe α -> ExceptT e μ β) -> ExceptT e μ (α, β) Source #

finally :: ExceptT e μ α -> ExceptT e μ β -> ExceptT e μ α Source #

(MonadFinally μ, Error e) => MonadFinally (ErrorT e μ) Source # 

Methods

finally' :: ErrorT e μ α -> (Maybe α -> ErrorT e μ β) -> ErrorT e μ (α, β) Source #

finally :: ErrorT e μ α -> ErrorT e μ β -> ErrorT e μ α Source #

MonadFinally μ => MonadFinally (StateT s μ) Source # 

Methods

finally' :: StateT s μ α -> (Maybe α -> StateT s μ β) -> StateT s μ (α, β) Source #

finally :: StateT s μ α -> StateT s μ β -> StateT s μ α Source #

MonadFinally μ => MonadFinally (StateT s μ) Source # 

Methods

finally' :: StateT s μ α -> (Maybe α -> StateT s μ β) -> StateT s μ (α, β) Source #

finally :: StateT s μ α -> StateT s μ β -> StateT s μ α Source #

(MonadFinally μ, Monoid w) => MonadFinally (WriterT w μ) Source # 

Methods

finally' :: WriterT w μ α -> (Maybe α -> WriterT w μ β) -> WriterT w μ (α, β) Source #

finally :: WriterT w μ α -> WriterT w μ β -> WriterT w μ α Source #

(MonadFinally μ, Monoid w) => MonadFinally (WriterT w μ) Source # 

Methods

finally' :: WriterT w μ α -> (Maybe α -> WriterT w μ β) -> WriterT w μ (α, β) Source #

finally :: WriterT w μ α -> WriterT w μ β -> WriterT w μ α Source #

MonadFinally μ => MonadFinally (AbortT e μ) Source # 

Methods

finally' :: AbortT e μ α -> (Maybe α -> AbortT e μ β) -> AbortT e μ (α, β) Source #

finally :: AbortT e μ α -> AbortT e μ β -> AbortT e μ α Source #

MonadFinally μ => MonadFinally (FinishT β μ) Source # 

Methods

finally' :: FinishT β μ α -> (Maybe α -> FinishT β μ β) -> FinishT β μ (α, β) Source #

finally :: FinishT β μ α -> FinishT β μ β -> FinishT β μ α Source #

MonadFinally μ => MonadFinally (ReaderT * r μ) Source # 

Methods

finally' :: ReaderT * r μ α -> (Maybe α -> ReaderT * r μ β) -> ReaderT * r μ (α, β) Source #

finally :: ReaderT * r μ α -> ReaderT * r μ β -> ReaderT * r μ α Source #

(MonadFinally μ, Monoid w) => MonadFinally (RWST r w s μ) Source # 

Methods

finally' :: RWST r w s μ α -> (Maybe α -> RWST r w s μ β) -> RWST r w s μ (α, β) Source #

finally :: RWST r w s μ α -> RWST r w s μ β -> RWST r w s μ α Source #

(MonadFinally μ, Monoid w) => MonadFinally (RWST r w s μ) Source # 

Methods

finally' :: RWST r w s μ α -> (Maybe α -> RWST r w s μ β) -> RWST r w s μ (α, β) Source #

finally :: RWST r w s μ α -> RWST r w s μ β -> RWST r w s μ α Source #

onEscape :: MonadFinally μ => μ α -> μ β -> μ α Source #

tryAll :: MonadFinally μ => [μ α] -> μ () Source #

class (Applicative μ, Monad μ, Ord m, Bounded m) => MonadMask m μ | μ -> m where Source #

Minimal complete definition

defMaskingState, getMaskingState, setMaskingState

Methods

defMaskingState :: Proxy μ -> m Source #

getMaskingState :: μ m Source #

setMaskingState :: m -> μ α -> μ α Source #

Instances

MonadMask () Identity Source # 
MonadMask MaskingState IO Source # 
MonadMask m μ => MonadMask m (ListT μ) Source # 

Methods

defMaskingState :: Proxy (* -> *) (ListT μ) -> m Source #

getMaskingState :: ListT μ m Source #

setMaskingState :: m -> ListT μ α -> ListT μ α Source #

MonadMask m μ => MonadMask m (MaybeT μ) Source # 

Methods

defMaskingState :: Proxy (* -> *) (MaybeT μ) -> m Source #

getMaskingState :: MaybeT μ m Source #

setMaskingState :: m -> MaybeT μ α -> MaybeT μ α Source #

(MonadMask m μ, Monoid w) => MonadMask m (WriterT w μ) Source # 

Methods

defMaskingState :: Proxy (* -> *) (WriterT w μ) -> m Source #

getMaskingState :: WriterT w μ m Source #

setMaskingState :: m -> WriterT w μ α -> WriterT w μ α Source #

(MonadMask m μ, Monoid w) => MonadMask m (WriterT w μ) Source # 

Methods

defMaskingState :: Proxy (* -> *) (WriterT w μ) -> m Source #

getMaskingState :: WriterT w μ m Source #

setMaskingState :: m -> WriterT w μ α -> WriterT w μ α Source #

MonadMask m μ => MonadMask m (StateT s μ) Source # 

Methods

defMaskingState :: Proxy (* -> *) (StateT s μ) -> m Source #

getMaskingState :: StateT s μ m Source #

setMaskingState :: m -> StateT s μ α -> StateT s μ α Source #

MonadMask m μ => MonadMask m (StateT s μ) Source # 

Methods

defMaskingState :: Proxy (* -> *) (StateT s μ) -> m Source #

getMaskingState :: StateT s μ m Source #

setMaskingState :: m -> StateT s μ α -> StateT s μ α Source #

MonadMask m μ => MonadMask m (ExceptT e μ) Source # 

Methods

defMaskingState :: Proxy (* -> *) (ExceptT e μ) -> m Source #

getMaskingState :: ExceptT e μ m Source #

setMaskingState :: m -> ExceptT e μ α -> ExceptT e μ α Source #

(MonadMask m μ, Error e) => MonadMask m (ErrorT e μ) Source # 

Methods

defMaskingState :: Proxy (* -> *) (ErrorT e μ) -> m Source #

getMaskingState :: ErrorT e μ m Source #

setMaskingState :: m -> ErrorT e μ α -> ErrorT e μ α Source #

MonadMask m μ => MonadMask m (FinishT β μ) Source # 

Methods

defMaskingState :: Proxy (* -> *) (FinishT β μ) -> m Source #

getMaskingState :: FinishT β μ m Source #

setMaskingState :: m -> FinishT β μ α -> FinishT β μ α Source #

MonadMask m μ => MonadMask m (AbortT e μ) Source # 

Methods

defMaskingState :: Proxy (* -> *) (AbortT e μ) -> m Source #

getMaskingState :: AbortT e μ m Source #

setMaskingState :: m -> AbortT e μ α -> AbortT e μ α Source #

MonadMask m μ => MonadMask m (ReaderT * r μ) Source # 

Methods

defMaskingState :: Proxy (* -> *) (ReaderT * r μ) -> m Source #

getMaskingState :: ReaderT * r μ m Source #

setMaskingState :: m -> ReaderT * r μ α -> ReaderT * r μ α Source #

(MonadMask m μ, Monoid w) => MonadMask m (RWST r w s μ) Source # 

Methods

defMaskingState :: Proxy (* -> *) (RWST r w s μ) -> m Source #

getMaskingState :: RWST r w s μ m Source #

setMaskingState :: m -> RWST r w s μ α -> RWST r w s μ α Source #

(MonadMask m μ, Monoid w) => MonadMask m (RWST r w s μ) Source # 

Methods

defMaskingState :: Proxy (* -> *) (RWST r w s μ) -> m Source #

getMaskingState :: RWST r w s μ m Source #

setMaskingState :: m -> RWST r w s μ α -> RWST r w s μ α Source #

mask :: forall m μ α. MonadMask m μ => ((forall η β. MonadMask m η => η β -> η β) -> μ α) -> μ α Source #

mask_ :: forall m μ α. MonadMask m μ => μ α -> μ α Source #

uninterruptibleMask :: MonadMask MaskingState μ => ((forall η β. MonadMask MaskingState η => η β -> η β) -> μ α) -> μ α Source #

bracket :: (MonadFinally μ, MonadMask m μ) => μ α -> (α -> μ β) -> (α -> μ γ) -> μ γ Source #

bracket_ :: (MonadFinally μ, MonadMask m μ) => μ α -> μ β -> μ γ -> μ γ Source #

bracketOnEscape :: (MonadFinally μ, MonadMask m μ) => μ α -> (α -> μ β) -> (α -> μ γ) -> μ γ Source #

bracketOnError :: (MonadRecover e μ, MonadMask m μ) => μ α -> (α -> μ β) -> (α -> μ γ) -> μ γ Source #

Orphan instances