data-lens-template 2.1.3 → 2.1.4
raw patch · 2 files changed
+20/−14 lines, 2 filesdep ~data-lensnew-uploaderPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: data-lens
API changes (from Hackage documentation)
+ Data.Lens.Template: decMakeLens :: Name -> Dec -> (String -> Maybe String) -> Q [Dec]
Files
- Data/Lens/Template.hs +15/−9
- data-lens-template.cabal +5/−5
Data/Lens/Template.hs view
@@ -6,7 +6,7 @@ accessor objects for them automatically. -} module Data.Lens.Template (- nameMakeLens, makeLenses, makeLens,+ nameMakeLens, makeLenses, makeLens, decMakeLens ) where import Language.Haskell.TH.Syntax@@ -78,22 +78,21 @@ info <- reify t reified <- case info of TyConI dec -> return dec- _ -> fail errmsg- (params, cons) <- case reified of+ _ -> fail $ errmsg t+ decMakeLens t reified namer++decMakeLens :: Name -> Dec -> (String -> Maybe String) -> Q [Dec]+decMakeLens t dec namer = do+ (params, cons) <- case dec of DataD _ _ params cons' _ -> return (params, cons') NewtypeD _ _ params con' _ -> return (params, [con'])- _ -> fail errmsg+ _ -> fail $ errmsg t decs <- makeAccs params . nub $ concatMap namedFields cons when (null decs) $ qReport False nodefmsg return decs where - errmsg = "Cannot derive accessors for name " ++ show t ++ " because"- ++ "\n it is not a type declared with 'data' or 'newtype'"- ++ "\n Did you remember to double-tick the type as in"- ++ "\n $(makeLenses ''TheType)?"- nodefmsg = "Warning: No accessors generated from the name " ++ show t ++ "\n If you are using makeLenses rather than" ++ "\n nameMakeLens, remember accessors are"@@ -134,3 +133,10 @@ ] #endif++errmsg t = "Cannot derive accessors for name " ++ show t ++ " because"+ ++ "\n it is not a type declared with 'data' or 'newtype'"+ ++ "\n Did you remember to double-tick the type as in"+ ++ "\n $(makeLenses ''TheType)?"++
data-lens-template.cabal view
@@ -1,26 +1,26 @@ name: data-lens-template-version: 2.1.3+version: 2.1.4 license: BSD3 license-file: LICENSE author: Joel Burget <joelburget@gmail.com>-maintainer: Edward Kmett <ekmett@gmail.com>+maintainer: Russell O'Connor <roconnor@theorem.ca> category: Data synopsis: Utilities for Data.Lens description: Automatically derive @Lens@es for your data type for use with @Data.Lens@. Note: the code is derived from data-accessor-template <http://hackage.haskell.org/package/data-accessor-template> by Luke Palmer and Henning Thielemann. build-type: Simple-homepage: http://github.com/ekmett/data-lens-template/+homepage: http://github.com/roconnor/data-lens-template/ cabal-version: >= 1.6 source-repository head type : git- location: git@github.com:ekmett/data-lens-template.git+ location: git@github.com:roconnor/data-lens-template.git library extensions: CPP other-extensions: TemplateHaskell build-depends: - data-lens >= 2.0 && < 2.1,+ data-lens >= 2.0 && < 2.11, base >= 1.0 && < 5, template-haskell >= 2.4 && < 2.8