generics-sop 0.5.1.3 → 0.5.1.4
raw patch · 4 files changed
+18/−11 lines, 4 filesdep ~basedep ~ghc-primdep ~template-haskellPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: base, ghc-prim, template-haskell, th-abstraction
API changes (from Hackage documentation)
Files
- CHANGELOG.md +5/−0
- generics-sop.cabal +6/−6
- src/Generics/SOP/Instances.hs +1/−0
- src/Generics/SOP/TH.hs +6/−5
CHANGELOG.md view
@@ -1,3 +1,8 @@+# 0.5.1.4 (2023-10-18)++* Compatibility with GHC-9.8 / th-abstraction-0.6+ (thanks to Ganesh Sittampalam).+ # 0.5.1.3 (2023-04-23) * Compatibility with GHC-9.6 / th-abstraction-0.5
generics-sop.cabal view
@@ -1,5 +1,5 @@ name: generics-sop-version: 0.5.1.3+version: 0.5.1.4 synopsis: Generic Programming using True Sums of Products description: A library to support the definition of generic functions.@@ -42,7 +42,7 @@ build-type: Simple cabal-version: >=1.10 extra-source-files: CHANGELOG.md doctest.sh-tested-with: 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.2, GHC == 9.2.7, GHC == 9.4.4, GHC == 9.6.1+tested-with: 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.2, GHC == 9.2.7, GHC == 9.4.4, GHC == 9.6.1, GHC == 9.8.1 source-repository head type: git@@ -65,11 +65,11 @@ Generics.SOP.NP Generics.SOP.NS Generics.SOP.Sing- build-depends: base >= 4.9 && < 4.19,+ build-depends: base >= 4.9 && < 4.20, sop-core == 0.5.0.*,- template-haskell >= 2.8 && < 2.21,- th-abstraction >= 0.4 && < 0.6,- ghc-prim >= 0.3 && < 0.11+ template-haskell >= 2.8 && < 2.22,+ th-abstraction >= 0.6 && < 0.7,+ ghc-prim >= 0.3 && < 0.12 hs-source-dirs: src default-language: Haskell2010 ghc-options: -Wall
src/Generics/SOP/Instances.hs view
@@ -1,5 +1,6 @@ {-# LANGUAGE EmptyCase #-} {-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE UnboxedTuples #-} {-# OPTIONS_GHC -fno-warn-orphans #-} {-# OPTIONS_GHC -freduction-depth=100 #-} {-# OPTIONS_GHC -fno-warn-deprecations #-}
src/Generics/SOP/TH.hs view
@@ -20,6 +20,7 @@ import Language.Haskell.TH.Datatype.TyVarBndr import Language.Haskell.TH import Language.Haskell.TH.Datatype as TH+import Language.Haskell.TH.Datatype.TyVarBndr import Generics.SOP.BasicFunctors import qualified Generics.SOP.Metadata as SOP@@ -190,7 +191,7 @@ [ tySynD datatypeInfoName' [] (metadataType' variant name cons) ] deriveGenericForDataDec ::- (Name -> Q Type) -> DatatypeVariant -> Cxt -> Name -> [TyVarBndrUnit] -> [Type] -> [TH.ConstructorInfo] -> Q [Dec]+ (Name -> Q Type) -> DatatypeVariant -> Cxt -> Name -> [TyVarBndrVis] -> [Type] -> [TH.ConstructorInfo] -> Q [Dec] deriveGenericForDataDec f _variant _cxt name _bndrs instTys cons = do let typ = appTysSubst f name instTys deriveGenericForDataType f typ cons@@ -205,7 +206,7 @@ return [inst] deriveMetadataForDataDec ::- (Name -> Q Type) -> DatatypeVariant -> Cxt -> Name -> [TyVarBndrUnit] -> [Type] -> [TH.ConstructorInfo] -> Q [Dec]+ (Name -> Q Type) -> DatatypeVariant -> Cxt -> Name -> [TyVarBndrVis] -> [Type] -> [TH.ConstructorInfo] -> Q [Dec] deriveMetadataForDataDec f variant _cxt name _bndrs instTys cons = do let typ = appTysSubst f name instTys deriveMetadataForDataType variant name typ cons@@ -512,7 +513,7 @@ appsT :: Name -> [Q Type] -> Q Type appsT n = foldl' appT (conT n) -appTyVars :: (Name -> Q Type) -> Name -> [TyVarBndrUnit] -> Q Type+appTyVars :: (Name -> Q Type) -> Name -> [TyVarBndrVis] -> Q Type appTyVars f n bndrs = appsT n (map (f . tvName) bndrs) @@ -549,7 +550,7 @@ -- The datatype context -> Name -- The data type's name- -> [TyVarBndrUnit]+ -> [TyVarBndrVis] -- The datatype's type variable binders, both implicit and explicit. -- Examples: --@@ -582,7 +583,7 @@ , datatypeVariant = variant , datatypeCons = cons }) f = checkForTypeData variant $- f variant ctxt name bndrs instTypes cons+ f variant ctxt name (changeTVFlags bndrReq bndrs) instTypes cons checkForTypeData :: DatatypeVariant -> Q a -> Q a checkForTypeData variant q = do