TYB 0.2.1 → 0.2.2
raw patch · 4 files changed
+30/−26 lines, 4 filesdep ~arraydep ~containersdep ~mtlnew-uploaderPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: array, containers, mtl, template-haskell, transformers
API changes (from Hackage documentation)
Files
- Data/Generics/TH.hs +7/−3
- README +0/−16
- README.md +16/−0
- TYB.cabal +7/−7
Data/Generics/TH.hs view
@@ -1,4 +1,4 @@-{-# LANGUAGE TemplateHaskell, CPP #-}+{-# LANGUAGE TemplateHaskell, CPP, PatternGuards #-} {-# OPTIONS_GHC -W -Wall #-} {-|@@ -987,6 +987,7 @@ hasFreeVars (ForallT _tyVarBndrs _cxt _ty) = True hasFreeVars (ConT _) = False hasFreeVars (TupleT _) = False+ hasFreeVars (UnboxedTupleT _) = False hasFreeVars (ArrowT) = False hasFreeVars (ListT) = False hasFreeVars (AppT t1 t2) = hasFreeVars t1 || hasFreeVars t2@@ -1157,8 +1158,8 @@ -- |@inType t1 t2 = True@ iff @t1@ is (even recursively) inside @t2@ inType :: (Quasi m) => m Type -> Type -> m Bool-inType t1 t2 =- evalStateT (flip rec t2 =<< lift (expandType =<< t1)) Set.empty where+inType t1_0 t2_0 =+ evalStateT (flip rec t2_0 =<< lift (expandType =<< t1_0)) Set.empty where rec t1 t2 = do t2' <- expandType t2 s <- gets (Set.member t2')@@ -1287,6 +1288,7 @@ subst' env (SigT t kind) = SigT (subst' env t) kind subst' _ t@(ConT _) = t subst' _ t@(TupleT _) = t+ subst' _ t@(UnboxedTupleT _) = t subst' _ t@(ArrowT) = t subst' _ t@(ListT) = t @@ -1326,7 +1328,9 @@ TyConI (DataD {}) -> nonSynonym TyConI (NewtypeD {}) -> nonSynonym PrimTyConI {} -> nonSynonym+ _ -> error ("expandType': Can not expand type " ++ show t) expandType' (TupleT n) args = return $ foldl AppT (TupleT n) args+expandType' (UnboxedTupleT n) args = return $ foldl AppT (UnboxedTupleT n) args expandType' (ArrowT) args = return $ foldl AppT (ArrowT) args expandType' (ListT) args = return $ foldl AppT (ListT) args expandType' (AppT t1 t2) args = do t2' <- expandType' t2 []
− README
@@ -1,16 +0,0 @@-This is the Template Your Boilerplate (TYB) library.--The "Template Your Boilerplate" paper documents the design of this library-and is available at: http://cs.pdx.edu/~adamsmic/projects/tyb/TYB.pdf--The TYB library is in the Data.Generics.TH module.--The 'examples' folder contains examples of using TYB and is a good-place to start getting familiar with TYB. They can be built with:--$ ghc --make examples/*.hs--A couple of useful debugging helpers for Template Haskell are-included in the Debug.TH module.--We welcome feedback on both the implementation and the interface.
+ README.md view
@@ -0,0 +1,16 @@+This is the Template Your Boilerplate (TYB) library.++The "Template Your Boilerplate" paper documents the design of this library+and is available at: http://cs.pdx.edu/~adamsmic/projects/tyb/TYB.pdf++The TYB library is in the Data.Generics.TH module.++The 'examples' folder contains examples of using TYB and is a good+place to start getting familiar with TYB. They can be built with:++ $ ghc --make examples/*.hs++A couple of useful debugging helpers for Template Haskell are+included in the Debug.TH module.++We welcome feedback on both the implementation and the interface.
TYB.cabal view
@@ -1,5 +1,5 @@ Name: TYB-Version: 0.2.1+Version: 0.2.2 Synopsis: Template Your Boilerplate - a Template Haskell version of SYB Description: TYB is a generic-programming system that uses Template Haskell to generate boiler-plate traversals at compile@@ -13,17 +13,17 @@ -- Copyright: Category: Generics Build-type: Simple-Extra-source-files: README examples/*.hs util/makeVarSet.hs+Extra-source-files: README.md examples/*.hs util/makeVarSet.hs Cabal-version: >=1.8 Library Exposed-modules: Data.Generics.TH Build-depends: base >= 4 && < 5- , template-haskell >= 2.5 && < 2.8- , array >= 0.3 && < 0.5- , containers >= 0.4 && < 0.5- , mtl >= 2.0 && < 2.1- , transformers >= 0.2 && < 0.3+ , template-haskell >= 2.5+ , array >= 0.3+ , containers >= 0.4+ , mtl >= 2.0+ , transformers >= 0.2 Other-modules: Data.Generics.TH.Instances, Data.Generics.TH.VarSet, Debug.TH -- Build-tools: