From 9a41d56f6d0aa338029c161d3d360ac406fd573d Mon Sep 17 00:00:00 2001 From: Jens Nolte <git@queezle.net> Date: Thu, 24 Feb 2022 23:44:21 +0100 Subject: [PATCH] Add withResourceScope --- src/Quasar/Monad.hs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/Quasar/Monad.hs b/src/Quasar/Monad.hs index 2f140bc..81e8a00 100644 --- a/src/Quasar/Monad.hs +++ b/src/Quasar/Monad.hs @@ -2,6 +2,7 @@ module Quasar.Monad ( -- * Quasar Quasar, newQuasar, + withResourceScope, MonadQuasar(..), @@ -94,7 +95,9 @@ newQuasar = do ensureSTM $ newQuasarSTM worker exChan parentRM ---withResourceScope :: MonadQuasar m => m a -> m a +withResourceScope :: (MonadQuasar m, MonadIO m, MonadMask m) => m a -> m a +withResourceScope fn = bracket newQuasar dispose (`localQuasar` fn) + class (MonadCatch m, MonadFix m) => MonadQuasar m where -- GitLab