compdata 0.13.0 → 0.13.1
raw patch · 5 files changed
+32/−28 lines, 5 filesdep ~QuickCheckdep ~basedep ~containersPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: QuickCheck, base, containers, deepseq, mtl, template-haskell, th-expand-syns, transformers, tree-view
API changes (from Hackage documentation)
- Data.Comp.Derive.Utils: DataInfo :: Cxt -> Name -> [TyVarBndr flag] -> [Con] -> [DerivClause] -> DataInfo flag
+ Data.Comp.Derive.Utils: DataInfo :: Cxt -> Name -> [TyVarBndr flag] -> [Con] -> [DerivClause] -> DataInfo
- Data.Comp.Derive.Utils: abstractNewtype :: Info -> Maybe (DataInfo ())
+ Data.Comp.Derive.Utils: abstractNewtype :: Info -> Maybe DataInfo
- Data.Comp.Derive.Utils: abstractNewtypeQ :: Q Info -> Q (Maybe (DataInfo ()))
+ Data.Comp.Derive.Utils: abstractNewtypeQ :: Q Info -> Q (Maybe DataInfo)
- Data.Comp.Derive.Utils: data DataInfo flag
+ Data.Comp.Derive.Utils: data DataInfo
Files
- CHANGELOG.md +5/−0
- compdata.cabal +22/−19
- src/Data/Comp/Arbitrary.hs +1/−1
- src/Data/Comp/Derive/Utils.hs +4/−3
- src/Data/Comp/Thunk.hs +0/−5
CHANGELOG.md view
@@ -1,3 +1,8 @@+0.13.1+---++- Compatibility with GHC 9.8+ 0.13 ---
compdata.cabal view
@@ -1,13 +1,12 @@ Name: compdata-Version: 0.13.0+Version: 0.13.1 Synopsis: Compositional Data Types Description: - This library implements the ideas of /Data types a la carte/- (Journal of Functional Programming, 18(4):423-436, 2008,- <http://dx.doi.org/10.1017/S0956796808006758>) as outlined in the- paper /Compositional data types/ (Workshop on Generic Programming,- 83-94, 2011, <http://dx.doi.org/10.1145/2036918.2036930>). The+ This library implements the ideas of+ <http://dx.doi.org/10.1017/S0956796808006758 Data types a la carte>+ as outlined in the paper+ <http://dx.doi.org/10.1145/2036918.2036930 Compositional data types>. The purpose of this library is to allow the programmer to construct data types -- as well as the functions defined on them -- in a modular fashion. The underlying idea is to separate the signature of a data@@ -77,19 +76,16 @@ There are some supplementary packages, some of which were included in previous versions of this package: .- * @compdata-param@- <https://hackage.haskell.org/package/compdata-param>: a parametric- variant of compositional data types to deal with variable binders- in a systematic way.+ * <https://hackage.haskell.org/package/compdata-param compdata-param>:+ a parametric variant of compositional data types to deal with variable+ binders in a systematic way. .- * @compdata-automata@- <https://hackage.haskell.org/package/compdata-automata>: advanced- recursion schemes derived from tree automata that allow for a+ * <https://hackage.haskell.org/package/compdata-automata compdata-automata>:+ advanced recursion schemes derived from tree automata that allow for a higher degree of modularity and make it possible to apply fusion. .- * @compdata-dags@- <https://hackage.haskell.org/package/compdata-dags>: recursion- schemes on directed acyclic graphs.+ * <https://hackage.haskell.org/package/compdata-dags compdata-dags>:+ recursion schemes on directed acyclic graphs. Category: Generics@@ -191,9 +187,16 @@ - Build-Depends: base >= 4.16 && < 4.19, template-haskell, containers, mtl >= 2.2.1,- QuickCheck >= 2, deepseq, transformers, th-expand-syns,- tree-view >= 0.5+ Build-Depends: base >= 4.16 && < 4.19,+ QuickCheck >= 2.14.3 && < 2.15,+ containers >= 0.6.8 && < 0.7,+ deepseq >= 1.4 && < 1.6,+ template-haskell >= 2.17 && < 2.22,+ mtl >= 2.3.1 && < 2.4,+ transformers >= 0.6.1 && < 0.7,+ th-expand-syns >= 0.4.11 && < 0.5,+ tree-view >= 0.5.1 && < 0.6+ Default-Language: Haskell2010 Default-Extensions: FlexibleContexts hs-source-dirs: src
src/Data/Comp/Arbitrary.hs view
@@ -38,7 +38,7 @@ arbitraryF' = map addP arbitraryF' where addP (i,gen) = (i,(:&:) <$> gen <*> arbitrary) arbitraryF = (:&:) <$> arbitraryF <*> arbitrary- shrinkF (v :&: p) = tail [v' :&: p'| v' <- v: shrinkF v, p' <- p : shrink p ]+ shrinkF (v :&: p) = drop 1 [v' :&: p'| v' <- v: shrinkF v, p' <- p : shrink p ] {-| This lifts instances of 'ArbitraryF' to instances of 'ArbitraryF' for
src/Data/Comp/Derive/Utils.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE ExistentialQuantification #-} {-# LANGUAGE CPP #-} -------------------------------------------------------------------------------- -- |@@ -20,20 +21,20 @@ import Language.Haskell.TH.Syntax import Language.Haskell.TH.ExpandSyns -data DataInfo flag = DataInfo Cxt Name [TyVarBndr flag] [Con] [DerivClause] +data DataInfo = forall flag . DataInfo Cxt Name [TyVarBndr flag] [Con] [DerivClause] {-| This is the @Q@-lifted version of 'abstractNewtype. -}-abstractNewtypeQ :: Q Info -> Q (Maybe (DataInfo ()))+abstractNewtypeQ :: Q Info -> Q (Maybe DataInfo) abstractNewtypeQ = liftM abstractNewtype {-| This function abstracts away @newtype@ declaration, it turns them into @data@ declarations. -}-abstractNewtype :: Info -> Maybe (DataInfo ())+abstractNewtype :: Info -> Maybe DataInfo abstractNewtype (TyConI (NewtypeD cxt name args _ constr derive)) = Just (DataInfo cxt name args [constr] derive) abstractNewtype (TyConI (DataD cxt name args _ constrs derive))
src/Data/Comp/Thunk.hs view
@@ -54,11 +54,6 @@ import Control.Monad hiding (mapM, sequence) import Data.Traversable --- Control.Monad.Fail import is redundant since GHC 8.8.1-#if !MIN_VERSION_base(4,13,0)-import Control.Monad.Fail (MonadFail)-#endif- import Prelude hiding (foldl, foldl1, foldr, foldr1, mapM, sequence)