packages feed

recursion-schemes 5.2.2.4 → 5.2.2.5

raw patch · 3 files changed

+19/−9 lines, 3 filesdep −base-orphansdep ~template-haskelldep ~th-abstraction

Dependencies removed: base-orphans

Dependency ranges changed: template-haskell, th-abstraction

Files

CHANGELOG.markdown view
@@ -1,8 +1,15 @@+## 5.2.2.5 [2023-10-14]++* Support GHC-9.6 and GHC-9.8+* Support `th-abstraction-0.6.0.0` or later.+ ## 5.2.2.4 [2023-02-27]-* Support `th-abstraction-0.3.0.0` or later. +* Support `th-abstraction-0.5.0.0` or later.+ ## 5.2.2.3 +* Support GHC-9.4 * Workaround for https://gitlab.haskell.org/ghc/ghc/-/issues/18320, which was   preventing code calling makeBaseFunctor from being profiled. 
recursion-schemes.cabal view
@@ -1,6 +1,6 @@ name:          recursion-schemes category:      Control, Recursion-version:       5.2.2.4+version:       5.2.2.5 license:       BSD2 cabal-version: 1.18 license-file:  LICENSE@@ -15,7 +15,7 @@ synopsis:      Representing common recursion patterns as higher-order functions description:   Many recursive functions share the same structure, e.g. pattern-match on the input and, depending on the data constructor, either recur on a smaller input or terminate the recursion with the base case. Another one: start with a seed value, use it to produce the first element of an infinite list, and recur on a modified seed in order to produce the rest of the list. Such a structure is called a recursion scheme. Using higher-order functions to implement those recursion schemes makes your code clearer, faster, and safer. See README for details. -tested-with:   GHC==7.4.2, GHC==7.6.3, GHC==7.8.4, GHC==7.10.3, GHC==8.0.2, GHC==8.2.2, GHC==8.4.4, GHC==8.6.5, GHC==8.8.4, GHC==8.10.7, GHC==9.0.1, GHC==9.2.1, GHC==9.4.1+tested-with:   GHC==7.4.2, GHC==7.6.3, GHC==7.8.4, GHC==7.10.3, GHC==8.0.2, GHC==8.2.2, GHC==8.4.4, GHC==8.6.5, GHC==8.8.4, GHC==8.10.7, GHC==9.0.1, GHC==9.2.1, GHC==9.4.1, GHC==9.6.2, GHC==9.8.1  build-type:    Simple extra-doc-files: docs/github-compression.png docs/flowchart.svg@@ -83,9 +83,8 @@    if flag(template-haskell)     build-depends:-      template-haskell >= 2.5.0.0 && < 2.20,-      base-orphans     >= 0.5.4   && < 0.9,-      th-abstraction   >= 0.4     && < 0.6+      template-haskell >= 2.5.0.0 && < 2.22,+      th-abstraction   >= 0.4     && < 0.7     exposed-modules:       Data.Functor.Foldable.TH 
src/Data/Functor/Foldable/TH.hs view
@@ -26,7 +26,6 @@ import Language.Haskell.TH.Datatype.TyVarBndr import Language.Haskell.TH.Syntax (mkNameG_tc, mkNameG_v) import Data.Char (GeneralCategory (..), generalCategory)-import Data.Orphans () #ifndef CURRENT_PACKAGE_KEY import Data.Version (showVersion) import Paths_recursion_schemes (version)@@ -36,6 +35,10 @@ import Data.Functor.Foldable #endif +#if !MIN_VERSION_template_haskell(2,21,0) && !MIN_VERSION_th_abstraction(0,6,0)+type TyVarBndrVis = TyVarBndrUnit+#endif+ -- $setup -- >>> :set -XTemplateHaskell -XTypeFamilies -XDeriveTraversable -XScopedTypeVariables -- >>> import Data.Functor.Foldable@@ -246,14 +249,15 @@      dataFamilyError = fail "makeBaseFunctor: Data families are currently not supported." -    toTyVarBndr :: Type -> TyVarBndrUnit+    toTyVarBndr :: Type -> TyVarBndrVis     toTyVarBndr (VarT n)          = plainTV n     toTyVarBndr (SigT (VarT n) k) = kindedTV n k     toTyVarBndr _                 = error "toTyVarBndr"  makePrimForDI' :: BaseRules                -> Maybe (Name -> [Dec] -> Dec) -- ^ make instance-               -> Bool -> Name -> [TyVarBndrUnit]+               -> Bool -> Name+               -> [TyVarBndrVis]                -> [ConstructorInfo] -> DecsQ makePrimForDI' rules mkInstance' isNewtype tyName vars cons = do     -- variable parameters