typehash 1.4.0.0 → 1.4.0.1
raw patch · 2 files changed
+19/−6 lines, 2 filesdep +sybdep ~base
Dependencies added: syb
Dependency ranges changed: base
Files
- src/Data/TypeHash.hs +2/−2
- typehash.cabal +17/−4
src/Data/TypeHash.hs view
@@ -44,7 +44,7 @@ data Type = Name { typeName :: String } -- Abstract type, or recursive reference- | Data { typeName :: String, constrs :: [Constructor] }+ | Data { typeName :: String, dconstrs :: [Constructor] } deriving (Eq, Ord, Show, Typeable, Data) type Constructor = (String, [Field]) type Field = (String, Type) -- a unique number is used for missing field names@@ -54,7 +54,7 @@ let tn = show $ fullTypeOf x in case dataTypeRep $ dataTypeOf x of AlgRep cs | tn `notElem` tns ->- Data { typeName = tn, constrs = map (gConstr (tn:tns) x) cs }+ Data { typeName = tn, dconstrs = map (gConstr (tn:tns) x) cs } _ -> Name { typeName = tn } -- Use type name for truly abstract types and recursive types. gConstr :: (Data a) => [String] -> a -> Constr -> (String, [Field])
typehash.cabal view
@@ -1,5 +1,6 @@ Name: typehash-Version: 1.4.0.0+Cabal-Version: >= 1.2+Version: 1.4.0.1 License: BSD3 Author: Lennart Augustsson Maintainer: Lennart Augustsson@@ -10,6 +11,18 @@ Description: Produce a hash for a type that is unique for that type. The hash takes both actual type names and type structure into account. This is useful for checking the type of persisted values.-Hs-Source-Dirs: src-Build-Depends: base < 4, mtl, bytestring, pureMD5, binary-Exposed-modules: Data.TypeHash++Flag base4+ Description: Use base-4.*+ Default: True++Library+ Hs-Source-Dirs: src+ Build-Depends: mtl, bytestring, pureMD5, binary+ If flag(base4)+ Build-Depends:+ base >= 4 && < 4.4,+ syb < 0.3+ else+ Build-Depends: base < 4+ Exposed-modules: Data.TypeHash