recursion-schemes 5.2 → 5.2.1
raw patch · 3 files changed
+16/−10 lines, 3 filesdep ~template-haskelldep ~th-abstraction
Dependency ranges changed: template-haskell, th-abstraction
Files
- CHANGELOG.markdown +3/−0
- recursion-schemes.cabal +5/−3
- src/Data/Functor/Foldable/TH.hs +8/−7
CHANGELOG.markdown view
@@ -1,3 +1,6 @@+## 5.2.1 [2020.10.04]+* Allow building with `template-haskell-2.17.0.0` (GHC 9.0).+ ## 5.2 * Add instances for `Tree` (from `containers`)
recursion-schemes.cabal view
@@ -1,6 +1,6 @@ name: recursion-schemes category: Control, Recursion-version: 5.2+version: 5.2.1 license: BSD2 cabal-version: >= 1.10 license-file: LICENSE@@ -82,9 +82,9 @@ if flag(template-haskell) build-depends:- template-haskell >= 2.5.0.0 && < 2.17,+ template-haskell >= 2.5.0.0 && < 2.18, base-orphans >= 0.5.4 && < 0.9,- th-abstraction >= 0.3 && < 0.4+ th-abstraction >= 0.4 && < 0.5 exposed-modules: Data.Functor.Foldable.TH @@ -92,6 +92,8 @@ Paths_recursion_schemes ghc-options: -Wall+ if impl(ghc >= 8.6)+ ghc-options: -Wno-star-is-type default-language: Haskell2010 test-suite Expr
src/Data/Functor/Foldable/TH.hs view
@@ -14,6 +14,7 @@ import Data.Functor.Identity import Language.Haskell.TH import Language.Haskell.TH.Datatype as TH.Abs+import Language.Haskell.TH.Datatype.TyVarBndr import Language.Haskell.TH.Syntax (mkNameG_tc, mkNameG_v) import Data.Char (GeneralCategory (..), generalCategory) import Data.Orphans ()@@ -231,14 +232,14 @@ Datatype -> False Newtype -> False - toTyVarBndr :: Type -> TyVarBndr- toTyVarBndr (VarT n) = PlainTV n- toTyVarBndr (SigT (VarT n) k) = KindedTV n k+ toTyVarBndr :: Type -> TyVarBndrUnit+ 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 -> [TyVarBndr]+ -> Bool -> Name -> [TyVarBndrUnit] -> [ConstructorInfo] -> DecsQ makePrimForDI' rules mkInstance' isNewtype tyName vars cons = do -- variable parameters@@ -251,7 +252,7 @@ rName <- newName "r" let r = VarT rName -- Vars- let varsF = vars ++ [PlainTV rName]+ let varsF = vars ++ [plainTV rName] -- #33 cons' <- traverse (conTypeTraversal resolveTypeSynonyms) cons@@ -297,7 +298,7 @@ let mkInstance :: Name -> [Dec] -> Dec mkInstance = case mkInstance' of Just f -> f- Nothing -> \n -> + Nothing -> \n -> #if MIN_VERSION_template_haskell(2,11,0) InstanceD Nothing [] (ConT n `AppT` s) #else@@ -383,7 +384,7 @@ headOfType t = fail $ "headOfType: " ++ show t -- | Extract type variables-typeVars :: [TyVarBndr] -> [Name]+typeVars :: [TyVarBndr_ flag] -> [Name] typeVars = map tvName -- | Apply arguments to a type constructor.