From 59bc7df01c1dca2f3d03b525bdc422df95f7ec79 Mon Sep 17 00:00:00 2001 From: Jens Nolte <git@queezle.net> Date: Tue, 31 Aug 2021 21:44:28 +0200 Subject: [PATCH] Sort export lists --- src/Quasar/Awaitable.hs | 36 +++++++++++++++++++----------------- src/Quasar/Disposable.hs | 12 +++++++----- 2 files changed, 26 insertions(+), 22 deletions(-) diff --git a/src/Quasar/Awaitable.hs b/src/Quasar/Awaitable.hs index 7c9cdba..dac3d2b 100644 --- a/src/Quasar/Awaitable.hs +++ b/src/Quasar/Awaitable.hs @@ -1,10 +1,12 @@ module Quasar.Awaitable ( - -- * Awaitable + -- * MonadAwaitable MonadAwait(..), - IsAwaitable(..), - Awaitable, awaitResult, peekAwaitable, + + -- * Awaitable + IsAwaitable(..), + Awaitable, successfulAwaitable, failedAwaitable, completedAwaitable, @@ -58,20 +60,6 @@ import Data.Sequence import Quasar.Prelude -class IsAwaitable r a | a -> r where - runAwaitable :: (MonadQuerySTM m) => a -> m r - runAwaitable self = runAwaitable (toAwaitable self) - - cacheAwaitable :: MonadIO m => a -> m (Awaitable r) - cacheAwaitable self = cacheAwaitable (toAwaitable self) - - toAwaitable :: a -> Awaitable r - toAwaitable = Awaitable - - {-# MINIMAL toAwaitable | (runAwaitable, cacheAwaitable) #-} - - - class (MonadCatch m, MonadPlus m) => MonadAwait m where await :: IsAwaitable r a => a -> m r @@ -95,6 +83,20 @@ peekAwaitable awaitable = liftIO $ runMaybeT $ runQueryT queryFn (runAwaitable a queryFn transaction = MaybeT $ atomically $ (Just <$> transaction) `orElse` pure Nothing + +class IsAwaitable r a | a -> r where + runAwaitable :: (MonadQuerySTM m) => a -> m r + runAwaitable self = runAwaitable (toAwaitable self) + + cacheAwaitable :: MonadIO m => a -> m (Awaitable r) + cacheAwaitable self = cacheAwaitable (toAwaitable self) + + toAwaitable :: a -> Awaitable r + toAwaitable = Awaitable + + {-# MINIMAL toAwaitable | (runAwaitable, cacheAwaitable) #-} + + data Awaitable r = forall a. IsAwaitable r a => Awaitable a instance IsAwaitable r (Awaitable r) where diff --git a/src/Quasar/Disposable.hs b/src/Quasar/Disposable.hs index 2cac4d6..9cb1777 100644 --- a/src/Quasar/Disposable.hs +++ b/src/Quasar/Disposable.hs @@ -8,19 +8,21 @@ module Quasar.Disposable ( noDisposable, alreadyDisposing, + -- * MonadResourceManager + MonadResourceManager(..), + disposeEventually, + withOnResourceManager, + onResourceManager, + -- ** ResourceManager - ResourceManager, IsResourceManager(..), - MonadResourceManager(..), + ResourceManager, withResourceManager, - withOnResourceManager, newResourceManager, unsafeNewResourceManager, - onResourceManager, attachDisposable, attachDisposeAction, attachDisposeAction_, - disposeEventually, -- * Task Task(..), -- GitLab