data-accessor-template 0.2.1.3 → 0.2.1.4
raw patch · 3 files changed
+35/−10 lines, 3 files
Files
- data-accessor-template.cabal +24/−9
- src-5/Data/Accessor/Template.hs +2/−1
- src/Data/Accessor/Template/Example.hs +9/−0
data-accessor-template.cabal view
@@ -1,5 +1,5 @@ Name: data-accessor-template-Version: 0.2.1.3+Version: 0.2.1.4 License: BSD3 License-File: LICENSE Author: Luke Palmer <lrpalmer@gmail.com>, Henning Thielemann <haskell@henning-thielemann.de>@@ -12,7 +12,7 @@ Automate generation of @Accessor@'s of the @data-accessor@ package by Template Haskell functions. Build-Type: Simple-Tested-With: GHC==6.8.2+Tested-With: GHC==6.8.2 && ==6.10.4 Cabal-Version: >=1.2 Extra-Source-Files:@@ -20,8 +20,8 @@ src-5/Data/Accessor/Template.hs Flag template_2_4- description: Adapt to TemplateHaskell version of GHC-6.12- default: False+ Description: Adapt to newer TemplateHaskell version, this is ignored for GHC+ Default: False Library Build-Depends:@@ -29,12 +29,27 @@ utility-ht >=0.0.1 && <0.1, base >=1.0 && <6 - If flag(template_2_4)- Hs-Source-Dirs: src-5- Build-Depends: template-haskell >=2.4 && <2.5+ If impl(ghc)+ If impl(ghc >= 6.12)+ Hs-Source-Dirs: src-5+ Build-Depends: template-haskell >=2.4 && <2.5+ Else+ Hs-Source-Dirs: src-3+ Build-Depends: template-haskell >=2.2 && <2.4++ -- This is for TemplateHaskell implementations other than that of GHC.+ -- However, currently there are no such implementations.+ -- This is the cleaner way to express the dependency,+ -- however cabal-install's automated flag and package dependency resolution fails+ -- either for GHC-6.10 or GHC-6.12+ -- depending on the default value of the template_2_4 flag. Else- Hs-Source-Dirs: src-3- Build-Depends: template-haskell >=2.2 && <2.4+ If flag(template_2_4)+ Hs-Source-Dirs: src-5+ Build-Depends: template-haskell >=2.4 && <2.5+ Else+ Hs-Source-Dirs: src-3+ Build-Depends: template-haskell >=2.2 && <2.4 Exposed-Modules: Data.Accessor.Template
src-5/Data/Accessor/Template.hs view
@@ -124,7 +124,8 @@ ( $( return $ VarE name ) ) |] return- [ SigD accName (ForallT params [] (AppT (AppT (ConT ''Accessor.T) appliedT) ftype))+ [ SigD accName (ForallT (map PlainTV params')+ [] (AppT (AppT (ConT ''Accessor.T) appliedT) ftype)) , ValD (VarP accName) (NormalB body) [] ]
src/Data/Accessor/Template/Example.hs view
@@ -8,3 +8,12 @@ Qux { x_ :: a } $( AT.deriveAccessors ''Foo )+++data HigherKind tycon =+ HigherKind {+ y_ :: tycon Int,+ z_ :: tycon Char+ }++$( AT.deriveAccessors ''HigherKind )