compdata-param 0.8.0.1 → 0.8.0.2
raw patch · 4 files changed
+20/−21 lines, 4 filesdep ~compdata
Dependency ranges changed: compdata
Files
- compdata-param.cabal +6/−6
- src/Data/Comp/Param/Derive/Ditraversable.hs +4/−5
- src/Data/Comp/Param/Derive/SmartAConstructors.hs +5/−5
- src/Data/Comp/Param/Multi/Derive/SmartAConstructors.hs +5/−5
compdata-param.cabal view
@@ -1,5 +1,5 @@ Name: compdata-param-Version: 0.8.0.1+Version: 0.8.0.2 Synopsis: Parametric Compositional Data Types Description: @@ -26,7 +26,7 @@ Maintainer: paba@di.ku.dk Build-Type: Simple Cabal-Version: >=1.9.2-bug-reports: https://bitbucket.org/paba/compdata-param/issues+bug-reports: https://github.com/pa-ba/compdata-param/issues extra-source-files: -- test files@@ -89,7 +89,7 @@ Data.Comp.Param.Multi.Derive.Injections Data.Comp.Param.Multi.Derive.Projections - Build-Depends: base >= 4.7, base < 5, template-haskell, mtl, transformers, compdata == 0.8.*+ Build-Depends: base >= 4.7, base < 5, template-haskell, mtl, transformers, compdata >= 0.8 && < 0.10 hs-source-dirs: src ghc-options: -W @@ -98,9 +98,9 @@ Type: exitcode-stdio-1.0 Main-is: Tests.hs hs-source-dirs: testsuite/tests examples- Build-Depends: base >= 4.7, base < 5, template-haskell, mtl, transformers, compdata == 0.8.*, HUnit,+ Build-Depends: base >= 4.7, base < 5, template-haskell, mtl, transformers, compdata >= 0.8 && < 0.10, HUnit, test-framework, test-framework-hunit, containers, compdata-param source-repository head- type: hg- location: https://bitbucket.org/paba/compdata-param+ type: git+ location: https://github.com/pa-ba/compdata-param
src/Data/Comp/Param/Derive/Ditraversable.hs view
@@ -52,7 +52,6 @@ return [InstanceD [] classType [mapMDecl,sequenceDecl]] where isFarg fArg funTy (constr, args) = (constr, map (\t -> (t `containsType'` fArg, t `containsType'` funTy)) args)- checksAarg aArg (_,args) = any (`containsType` aArg) args filterVar _ _ nonFarg ([],[]) x = nonFarg x filterVar farg _ _ ([depth],[]) x = farg depth x filterVar _ aarg _ ([_],[depth]) x = aarg depth x@@ -74,12 +73,12 @@ let f = varE fn fp = if hasFargs then VarP fn else WildP conAp = foldl appE con allVars- addDi False _ x = x- addDi True d x = [|dimapM $(f)|]- conBind (fun,d,x) y = [| $(iter d [|mapM|] (addDi fun d f)) $(varE x) >>= $(lamE [varP x] y)|]+ addDi False x = x+ addDi True _ = [|dimapM $(f)|]+ conBind (fun,d,x) y = [| $(iter d [|mapM|] (addDi fun f)) $(varE x) >>= $(lamE [varP x] y)|] body <- foldr conBind [|return $conAp|] fvars return $ Clause [fp, pat] (NormalB body) []- sequenceClause (con, pat,hasFargs,allVars, fvars) =+ sequenceClause (con, pat,_hasFargs,allVars, fvars) = do let conAp = foldl appE con allVars varE' False _ x = varE x varE' True d x = appE (iter d [|fmap|] [|disequence|]) (varE x)
src/Data/Comp/Param/Derive/SmartAConstructors.hs view
@@ -30,13 +30,13 @@ 'injectA . dimap Var id' is automatically inserted. -} smartAConstructors :: Name -> Q [Dec] smartAConstructors fname = do- TyConI (DataD _cxt tname targs constrs _deriving) <- abstractNewtypeQ $ reify fname+ TyConI (DataD _cxt _tname _targs constrs _deriving) <- abstractNewtypeQ $ reify fname let cons = map abstractConType constrs- liftM concat $ mapM (genSmartConstr (map tyVarBndrName targs) tname) cons- where genSmartConstr targs tname (name, args) = do+ liftM concat $ mapM genSmartConstr cons+ where genSmartConstr (name, args) = do let bname = nameBase name- genSmartConstr' targs tname (mkName $ "iA" ++ bname) name args- genSmartConstr' targs tname sname name args = do+ genSmartConstr' (mkName $ "iA" ++ bname) name args+ genSmartConstr' sname name args = do varNs <- newNames args "x" varPr <- newName "_p" let pats = map varP (varPr : varNs)
src/Data/Comp/Param/Multi/Derive/SmartAConstructors.hs view
@@ -31,13 +31,13 @@ 'injectA . hdimap Var id' is automatically inserted. -} smartAConstructors :: Name -> Q [Dec] smartAConstructors fname = do- TyConI (DataD _cxt tname targs constrs _deriving) <- abstractNewtypeQ $ reify fname+ TyConI (DataD _cxt _tname _targs constrs _deriving) <- abstractNewtypeQ $ reify fname let cons = map abstractConType constrs- liftM concat $ mapM (genSmartConstr (map tyVarBndrName targs) tname) cons- where genSmartConstr targs tname (name, args) = do+ liftM concat $ mapM genSmartConstr cons+ where genSmartConstr (name, args) = do let bname = nameBase name- genSmartConstr' targs tname (mkName $ "iA" ++ bname) name args- genSmartConstr' targs tname sname name args = do+ genSmartConstr' (mkName $ "iA" ++ bname) name args+ genSmartConstr' sname name args = do varNs <- newNames args "x" varPr <- newName "_p" let pats = map varP (varPr : varNs)