emgm 0.3 → 0.3.1
raw patch · 3 files changed
+21/−1 lines, 3 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ Generics.EMGM.Derive: deriveMany :: [Name] -> Q [Dec]
+ Generics.EMGM.Derive: deriveManyWith :: Modifiers -> [Name] -> Q [Dec]
Files
- emgm.cabal +1/−1
- src/Generics/EMGM/Derive.hs +3/−0
- src/Generics/EMGM/Derive/Internal.hs +17/−0
emgm.cabal view
@@ -1,5 +1,5 @@ name: emgm-version: 0.3+version: 0.3.1 synopsis: Extensible and Modular Generics for the Masses homepage: http://www.cs.uu.nl/wiki/GenericProgramming/EMGM description:
src/Generics/EMGM/Derive.hs view
@@ -68,6 +68,9 @@ Modifier(..), Modifiers, + deriveMany,+ deriveManyWith,+ deriveMono, deriveMonoWith,
src/Generics/EMGM/Derive/Internal.hs view
@@ -22,6 +22,9 @@ Modifier(..), Modifiers, + deriveMany,+ deriveManyWith,+ deriveMono, deriveMonoWith, @@ -387,6 +390,20 @@ derive :: Name -> Q [Dec] derive = deriveWith []++--------------------------------------------------------------------------------++-- | Same as 'deriveWith' for a list of type names. It may be necessary to use+-- @deriveMany@ for a collection of mutually recursive datatypes.+deriveManyWith :: Modifiers -> [Name] -> Q [Dec]+deriveManyWith mods names = do+ decLists <- mapM (deriveWith mods) names+ return (concat decLists)++-- | Same as 'derive' for a list of type names. It may be necessary to use+-- @deriveMany@ for a collection of mutually recursive datatypes.+deriveMany :: [Name] -> Q [Dec]+deriveMany = deriveManyWith [] --------------------------------------------------------------------------------