From 03a367f735c4e264266747d3c46df540144def7c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B6ren=20Tempel?= Date: Fri, 10 Mar 2023 22:23:51 +0100 Subject: [PATCH 1/3] Widen template-haskell version constraint to allow version <2.22 This allows freer-simple to be used with GHC >= 9.4. Prior versions of template-haskell are not compatible with those GHC versions. Newer version of of template-haskell seem to be fully compatible with freer-simple. That is, tests still pass and I haven't noticed any issues in my own project (which use freer-simple). Fixes #40 --- freer-simple.cabal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/freer-simple.cabal b/freer-simple.cabal index 77bfabe..086ac13 100644 --- a/freer-simple.cabal +++ b/freer-simple.cabal @@ -84,7 +84,7 @@ library build-depends: , natural-transformation >= 0.2 , transformers-base - , template-haskell >= 2.11 && < 2.19 + , template-haskell >= 2.11 && < 2.22 executable freer-simple-examples import: common From 365bf9294477783b29186cdf48dc608e060a6ec9 Mon Sep 17 00:00:00 2001 From: George Thomas Date: Wed, 11 Sep 2024 13:45:23 +0100 Subject: [PATCH 2/3] Support GHC 9.10 The added `Monad b` constraint cannot be deduced in 9.10, and is warned about in 9.8. --- freer-simple.cabal | 2 +- src/Control/Monad/Freer/Internal.hs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/freer-simple.cabal b/freer-simple.cabal index 086ac13..57b84a4 100644 --- a/freer-simple.cabal +++ b/freer-simple.cabal @@ -84,7 +84,7 @@ library build-depends: , natural-transformation >= 0.2 , transformers-base - , template-haskell >= 2.11 && < 2.22 + , template-haskell >= 2.11 && < 2.23 executable freer-simple-examples import: common diff --git a/src/Control/Monad/Freer/Internal.hs b/src/Control/Monad/Freer/Internal.hs index de96a4c..c298790 100644 --- a/src/Control/Monad/Freer/Internal.hs +++ b/src/Control/Monad/Freer/Internal.hs @@ -153,7 +153,7 @@ instance Monad (Eff effs) where E u q >>= k = E u (q |> k) {-# INLINE (>>=) #-} -instance (MonadBase b m, LastMember m effs) => MonadBase b (Eff effs) where +instance (Monad b, MonadBase b m, LastMember m effs) => MonadBase b (Eff effs) where liftBase = sendM . liftBase {-# INLINE liftBase #-} From e1d88c1ee036115ef527bda8c66da997962b3f34 Mon Sep 17 00:00:00 2001 From: George Thomas Date: Wed, 5 Mar 2025 23:48:26 +0000 Subject: [PATCH 3/3] Support GHC 9.12 --- freer-simple.cabal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/freer-simple.cabal b/freer-simple.cabal index 57b84a4..71372e3 100644 --- a/freer-simple.cabal +++ b/freer-simple.cabal @@ -84,7 +84,7 @@ library build-depends: , natural-transformation >= 0.2 , transformers-base - , template-haskell >= 2.11 && < 2.23 + , template-haskell >= 2.11 && < 2.24 executable freer-simple-examples import: common