rescue-0.4.2.1: More understandable exceptions
Safe HaskellNone
LanguageHaskell2010

Control.Monad.Trans.Cleanup.Types

Description

The CleanupT transformer for adding async exceptions to a stack

Synopsis

Documentation

newtype CleanupT m a Source #

Adds SomeException to an exception stack, and thus aware of async exceptions

Constructors

CleanupT 

Fields

Instances

Instances details
MonadTrans CleanupT Source # 
Instance details

Defined in Control.Monad.Trans.Cleanup.Types

Methods

lift :: Monad m => m a -> CleanupT m a #

MonadBase m m => MonadBase m (CleanupT m) Source # 
Instance details

Defined in Control.Monad.Trans.Cleanup.Types

Methods

liftBase :: m α -> CleanupT m α #

Monad m => Monad (CleanupT m) Source # 
Instance details

Defined in Control.Monad.Trans.Cleanup.Types

Methods

(>>=) :: CleanupT m a -> (a -> CleanupT m b) -> CleanupT m b #

(>>) :: CleanupT m a -> CleanupT m b -> CleanupT m b #

return :: a -> CleanupT m a #

Functor m => Functor (CleanupT m) Source # 
Instance details

Defined in Control.Monad.Trans.Cleanup.Types

Methods

fmap :: (a -> b) -> CleanupT m a -> CleanupT m b #

(<$) :: a -> CleanupT m b -> CleanupT m a #

MonadFix m => MonadFix (CleanupT m) Source # 
Instance details

Defined in Control.Monad.Trans.Cleanup.Types

Methods

mfix :: (a -> CleanupT m a) -> CleanupT m a #

Applicative f => Applicative (CleanupT f) Source # 
Instance details

Defined in Control.Monad.Trans.Cleanup.Types

Methods

pure :: a -> CleanupT f a #

(<*>) :: CleanupT f (a -> b) -> CleanupT f a -> CleanupT f b #

liftA2 :: (a -> b -> c) -> CleanupT f a -> CleanupT f b -> CleanupT f c #

(*>) :: CleanupT f a -> CleanupT f b -> CleanupT f b #

(<*) :: CleanupT f a -> CleanupT f b -> CleanupT f a #

Foldable t => Foldable (CleanupT t) Source # 
Instance details

Defined in Control.Monad.Trans.Cleanup.Types

Methods

fold :: Monoid m => CleanupT t m -> m #

foldMap :: Monoid m => (a -> m) -> CleanupT t a -> m #

foldMap' :: Monoid m => (a -> m) -> CleanupT t a -> m #

foldr :: (a -> b -> b) -> b -> CleanupT t a -> b #

foldr' :: (a -> b -> b) -> b -> CleanupT t a -> b #

foldl :: (b -> a -> b) -> b -> CleanupT t a -> b #

foldl' :: (b -> a -> b) -> b -> CleanupT t a -> b #

foldr1 :: (a -> a -> a) -> CleanupT t a -> a #

foldl1 :: (a -> a -> a) -> CleanupT t a -> a #

toList :: CleanupT t a -> [a] #

null :: CleanupT t a -> Bool #

length :: CleanupT t a -> Int #

elem :: Eq a => a -> CleanupT t a -> Bool #

maximum :: Ord a => CleanupT t a -> a #

minimum :: Ord a => CleanupT t a -> a #

sum :: Num a => CleanupT t a -> a #

product :: Num a => CleanupT t a -> a #

Traversable t => Traversable (CleanupT t) Source # 
Instance details

Defined in Control.Monad.Trans.Cleanup.Types

Methods

traverse :: Applicative f => (a -> f b) -> CleanupT t a -> f (CleanupT t b) #

sequenceA :: Applicative f => CleanupT t (f a) -> f (CleanupT t a) #

mapM :: Monad m => (a -> m b) -> CleanupT t a -> m (CleanupT t b) #

sequence :: Monad m => CleanupT t (m a) -> m (CleanupT t a) #

Alternative f => Alternative (CleanupT f) Source # 
Instance details

Defined in Control.Monad.Trans.Cleanup.Types

Methods

empty :: CleanupT f a #

(<|>) :: CleanupT f a -> CleanupT f a -> CleanupT f a #

some :: CleanupT f a -> CleanupT f [a] #

many :: CleanupT f a -> CleanupT f [a] #

MonadPlus m => MonadPlus (CleanupT m) Source # 
Instance details

Defined in Control.Monad.Trans.Cleanup.Types

Methods

mzero :: CleanupT m a #

mplus :: CleanupT m a -> CleanupT m a -> CleanupT m a #

Contravariant f => Contravariant (CleanupT f) Source # 
Instance details

Defined in Control.Monad.Trans.Cleanup.Types

Methods

contramap :: (a -> b) -> CleanupT f b -> CleanupT f a #

(>$) :: b -> CleanupT f b -> CleanupT f a #

MonadIO m => MonadIO (CleanupT m) Source # 
Instance details

Defined in Control.Monad.Trans.Cleanup.Types

Methods

liftIO :: IO a -> CleanupT m a #

MonadThrow m => MonadThrow (CleanupT m) Source # 
Instance details

Defined in Control.Monad.Trans.Cleanup.Types

Methods

throwM :: Exception e => e -> CleanupT m a #

MonadCatch m => MonadCatch (CleanupT m) Source # 
Instance details

Defined in Control.Monad.Trans.Cleanup.Types

Methods

catch :: Exception e => CleanupT m a -> (e -> CleanupT m a) -> CleanupT m a #

MonadMask m => MonadMask (CleanupT m) Source # 
Instance details

Defined in Control.Monad.Trans.Cleanup.Types

Methods

mask :: ((forall a. CleanupT m a -> CleanupT m a) -> CleanupT m b) -> CleanupT m b #

uninterruptibleMask :: ((forall a. CleanupT m a -> CleanupT m a) -> CleanupT m b) -> CleanupT m b #

generalBracket :: CleanupT m a -> (a -> ExitCase b -> CleanupT m c) -> (a -> CleanupT m b) -> CleanupT m (b, c) #

(Contains (Errors m) (Errors m), MonadRaise m, MonadThrow m) => MonadRaise (CleanupT m) Source # 
Instance details

Defined in Control.Monad.Trans.Cleanup.Types

Associated Types

type Errors (CleanupT m) :: [Type] Source #

Methods

raise :: Subset err (ErrorCase (CleanupT m)) => err -> CleanupT m a Source #

(MonadRescue m, MonadCatch m, CheckErrors m, Contains (Errors m) (SomeException ': Errors m)) => MonadRescue (CleanupT m) Source # 
Instance details

Defined in Control.Monad.Trans.Cleanup.Types

Methods

attempt :: CleanupT m a -> CleanupT m (Either (ErrorCase (CleanupT m)) a) Source #

(MonadRescue m, MonadMask m, CheckErrors m, Contains (Errors m) (SomeException ': Errors m)) => MonadCleanup (CleanupT m) Source # 
Instance details

Defined in Control.Monad.Trans.Cleanup.Types

Methods

cleanup :: CleanupT m resource -> (resource -> ErrorCase (CleanupT m) -> CleanupT m _ig1) -> (resource -> CleanupT m _ig2) -> (resource -> CleanupT m a) -> CleanupT m a Source #

Eq (m a) => Eq (CleanupT m a) Source # 
Instance details

Defined in Control.Monad.Trans.Cleanup.Types

Methods

(==) :: CleanupT m a -> CleanupT m a -> Bool #

(/=) :: CleanupT m a -> CleanupT m a -> Bool #

Show (m a) => Show (CleanupT m a) Source # 
Instance details

Defined in Control.Monad.Trans.Cleanup.Types

Methods

showsPrec :: Int -> CleanupT m a -> ShowS #

show :: CleanupT m a -> String #

showList :: [CleanupT m a] -> ShowS #

type Errors (CleanupT m) Source # 
Instance details

Defined in Control.Monad.Trans.Cleanup.Types