Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- class (m `Raises` SomeException, MonadRescueFrom m m) => MonadCleanup m where
Documentation
class (m `Raises` SomeException, MonadRescueFrom m m) => MonadCleanup m where Source #
Safely work with resources when an asynchronous exception may be thrown
:: m resource | Acquire some resource |
-> (resource -> ErrorCase m -> m _ig1) | Cleanup and re-raise |
-> (resource -> m _ig2) | Cleanup normally |
-> (resource -> m a) | Inner action to perform with the resource |
-> m a |
Instances
(Contains (Errors m) (Errors m), Contains (Errors m) (SomeException ': Errors m), MonadBase m m, MonadRescue m, MonadMask m) => MonadCleanup (CleanupT m) Source # | |