From b44e2baedd305bd83da00a24e1fcacb769128735 Mon Sep 17 00:00:00 2001 From: Jens Nolte <git@queezle.net> Date: Fri, 6 Aug 2021 16:12:19 +0200 Subject: [PATCH] Add Semigroup and Monoid instances to Awaitable --- src/Quasar/Awaitable.hs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/Quasar/Awaitable.hs b/src/Quasar/Awaitable.hs index 5f76ebf..78f1986 100644 --- a/src/Quasar/Awaitable.hs +++ b/src/Quasar/Awaitable.hs @@ -73,6 +73,12 @@ instance Monad Awaitable where Left ex -> pure $ Left ex Right x -> runAwaitable (fn x) +instance Semigroup r => Semigroup (Awaitable r) where + x <> y = liftA2 (<>) x y + +instance Monoid r => Monoid (Awaitable r) where + mempty = pure mempty + completedAwaitable :: Either SomeException r -> Awaitable r -- GitLab