From 73d4519486dd3adb61b1487c88da28cd13d105d3 Mon Sep 17 00:00:00 2001 From: Jens Nolte <git@queezle.net> Date: Sun, 29 Aug 2021 16:05:33 +0200 Subject: [PATCH] Move `await` implementation for IO to class definition --- src/Quasar/Awaitable.hs | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/Quasar/Awaitable.hs b/src/Quasar/Awaitable.hs index 69afe39..a595221 100644 --- a/src/Quasar/Awaitable.hs +++ b/src/Quasar/Awaitable.hs @@ -76,7 +76,7 @@ class Monad m => MonadAwait m where await :: IsAwaitable r a => a -> m r instance MonadAwait IO where - await = awaitIO + await awaitable = liftIO $ runQueryT atomically (runAwaitable awaitable) instance MonadAwait m => MonadAwait (ReaderT a m) where await = lift . await @@ -86,9 +86,6 @@ awaitResult :: (IsAwaitable r a, MonadAwait m) => m a -> m r awaitResult = (await =<<) -awaitIO :: (IsAwaitable r a, MonadIO m) => a -> m r -awaitIO awaitable = liftIO $ runQueryT atomically (runAwaitable awaitable) - peekAwaitable :: (IsAwaitable r a, MonadIO m) => a -> m (Maybe (Either SomeException r)) peekAwaitable awaitable = liftIO $ runMaybeT $ try $ runQueryT queryFn (runAwaitable awaitable) where -- GitLab