diff --git a/src/Quasar/Async.hs b/src/Quasar/Async.hs index 8afbf94a2639ea2b6d9109059b8329341da22ab1..adfc85f37467ceb8f29308514a38203c59cd568a 100644 --- a/src/Quasar/Async.hs +++ b/src/Quasar/Async.hs @@ -34,16 +34,16 @@ class (MonadAwait m, MonadResourceManager m) => MonadAsync m where instance MonadAsync m => MonadAsync (ReaderT r m) where - asyncWithUnmask :: MonadAsync m => ((forall b. ReaderT r m b -> ReaderT r m b) -> ReaderT r m a) -> ReaderT r m (Awaitable a) + asyncWithUnmask :: ((forall b. ReaderT r m b -> ReaderT r m b) -> ReaderT r m a) -> ReaderT r m (Awaitable a) asyncWithUnmask action = do x <- ask lift $ asyncWithUnmask \unmask -> runReaderT (action (liftUnmask unmask)) x where -- | Lift an "unmask" action (e.g. from `mask`) into a `ReaderT`. liftUnmask :: (m a -> m a) -> (ReaderT r m) a -> (ReaderT r m) a - liftUnmask unmask action = do + liftUnmask unmask innerAction = do value <- ask - lift $ unmask $ runReaderT action value + lift $ unmask $ runReaderT innerAction value async_ :: MonadAsync m => m () -> m () @@ -79,9 +79,9 @@ instance MonadAsync UnlimitedAsync where pure $ toAwaitable task where liftUnmask :: (forall b. IO b -> IO b) -> UnlimitedAsync a -> UnlimitedAsync a - liftUnmask unmask (UnlimitedAsync action) = UnlimitedAsync do + liftUnmask unmask (UnlimitedAsync innerAction) = UnlimitedAsync do resourceManager <- ask - liftIO $ unmask $ runReaderT action resourceManager + liftIO $ unmask $ runReaderT innerAction resourceManager -- | Run a computation in `MonadAsync` where `async` is implemented without any thread limits (i.e. every `async` will diff --git a/src/Quasar/Observable.hs b/src/Quasar/Observable.hs index a002d51cf680d36856723923f50f53fe646312c6..cdf49ab5f651c6102d09ba1bf3dd3beb11c13f47 100644 --- a/src/Quasar/Observable.hs +++ b/src/Quasar/Observable.hs @@ -462,7 +462,7 @@ synchronousFnObservable -> Observable v synchronousFnObservable observeFn synchronousRetrieveFn = fnObservable observeFn retrieveFn where - retrieveFn :: (forall m. (MonadResourceManager m, MonadAwait m) => m (Awaitable v)) + retrieveFn :: (forall m. MonadResourceManager m => m (Awaitable v)) retrieveFn = liftIO $ pure <$> synchronousRetrieveFn