newtype-th 0.3.2 → 0.3.3
raw patch · 2 files changed
+20/−7 lines, 2 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ Control.Newtype.TH: mkNewtype :: Name -> Q [Dec]
+ Control.Newtype.TH: mkNewtypes :: [Name] -> Q [Dec]
Files
- Control/Newtype/TH.hs +18/−5
- newtype-th.cabal +2/−2
Control/Newtype/TH.hs view
@@ -23,7 +23,9 @@ -- ----------------------------------------------------------------------------- -module Control.Newtype.TH ( mkNewType, mkNewTypes ) where+module Control.Newtype.TH+ ( mkNewtype, mkNewtypes+ , mkNewType, mkNewTypes ) where import Control.Newtype ( Newtype(pack, unpack) ) @@ -41,13 +43,13 @@ import Language.Haskell.Meta.Utils (conName, conTypes) -- | Derive a single instance of @Newtype@.-mkNewType :: Name -> Q [Dec]-mkNewType = mkNewTypes . (:[])+mkNewtype :: Name -> Q [Dec]+mkNewtype = mkNewTypes . (:[]) -- | Derive instances of @Newtype@, specified as a list of references -- to newtypes.-mkNewTypes :: [Name] -> Q [Dec]-mkNewTypes = mapM (\n -> rewriteFamilies =<< mkInst <$> reify n)+mkNewtypes :: [Name] -> Q [Dec]+mkNewtypes = mapM (\n -> rewriteFamilies =<< mkInst <$> reify n) where mkInst (TyConI (NewtypeD a b c d _)) = mkInstFor a b c d mkInst (TyConI (DataD a b c [d] _)) = mkInstFor a b c d@@ -136,3 +138,14 @@ generic = concat . gmapQ (const [] `extQ` handleType) rewriteFamilies d = return d+++{-# DEPRECATED mkNewType "Use mkNewtype instead (capitalization)." #-}+-- | Compatibility with an old, ill-capitalized name.+mkNewType :: Name -> Q [Dec]+mkNewType = mkNewtype++{-# DEPRECATED mkNewTypes "Use mkNewtypes instead (capitalization)." #-}+-- | Compatibility with an old, ill-capitalized name.+mkNewTypes :: [Name] -> Q [Dec]+mkNewTypes = mkNewtypes
newtype-th.cabal view
@@ -1,5 +1,5 @@ Name: newtype-th-Version: 0.3.2+Version: 0.3.3 Synopsis: A template haskell deriver to create Control.Newtype instances. Description: Provides a template haskell based mechanism for deriving instances of djahandarie's Control.Newtype class.@@ -9,7 +9,7 @@ Maintainer: Michael Sloan <mgsloan at gmail> Homepage: http://github.com/mgsloan/newtype-th Copyright: Michael Sloan 2011-Category: Control+Category: Control, Template Haskell Build-type: Simple Extra-source-files: Tests.hs Data-files: README