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