[Haskell-cafe] Fwd: typehash patch for base >= 4 && < 4.4
Andrew Miller
andrew at amxl.com
Tue Nov 30 05:09:55 CET 2010
Hi all,
Typehash 1.4.0.0, the latest version of typehash in hackage, has a cabal
constraint base < 4, making it difficult to use with packages that only
support newer base versions.
I sent a patch to fix this to the maintainer for the typehash package
(Lennart Augustsson) on the 16th of November, but haven't heard anything
back - it is possible that he doesn't read the e-mail address I sent it
to, or is no longer interested in maintaining typehash.
Does anyone who would be willing to know Lennart in person to confirm
this? Failing this, does anyone want to be maintainer for the typehash
package? If I don't hear any better ideas, I could simply upload a
version 1.4.0.1 with my split base patch applied, and the maintainer
changed to "haskell-cafe at haskell.org".
Best wishes,
Andrew
-------- Original Message --------
Subject: typehash patch for base >= 4 && < 4.4
Date: Tue, 16 Nov 2010 17:55:13 +1300
From: Andrew Miller <andrew at amxl.com>
To: lennart at augustsson.net
diff -rbud typehash-1.4.0.0/src/Data/TypeHash.hs
typehash-1.4.0.1/src/Data/TypeHash.hs
--- typehash-1.4.0.0/src/Data/TypeHash.hs 2009-10-06 03:43:44.000000000
+1300
+++ typehash-1.4.0.1/src/Data/TypeHash.hs 2010-11-16 17:43:51.917333177
+1300
@@ -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])
Only in typehash-1.4.0.1/src/Data: TypeHash.hs~
diff -rbud typehash-1.4.0.0/typehash.cabal typehash-1.4.0.1/typehash.cabal
--- typehash-1.4.0.0/typehash.cabal 2009-10-06 03:43:44.000000000 +1300
+++ typehash-1.4.0.1/typehash.cabal 2010-11-16 17:40:55.496953710 +1300
@@ -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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: typehash-base4.patch
Type: text/x-diff
Size: 2261 bytes
Desc: not available
Url : http://www.haskell.org/pipermail/haskell-cafe/attachments/20101129/c2b537c2/typehash-base4.bin
More information about the Haskell-Cafe
mailing list