Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- class (m `Raises` SomeException, MonadRescue m) => MonadCleanup m where
Documentation
class (m `Raises` SomeException, MonadRescue 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
(MonadRescue m, MonadMask m, CheckErrors m, Contains (Errors m) (SomeException ': Errors m)) => MonadCleanup (CleanupT m) Source # | |