hashmap 1.3.1 → 1.3.1.1
raw patch · 3 files changed
+33/−2 lines, 3 filesdep ~base
Dependency ranges changed: base
Files
- CHANGES +4/−0
- hashmap.cabal +2/−2
- include/hashmap.h +27/−0
CHANGES view
@@ -1,3 +1,7 @@+= Version 1.3.1.1, 2016-06-09 =+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^+* Ensure hashmap.h is distributed with the tarball+ = Version 1.3.1, 2016-06-09 = ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ * GHC 8 compatibility
hashmap.cabal view
@@ -1,5 +1,5 @@ Name: hashmap-Version: 1.3.1+Version: 1.3.1.1 Synopsis: Persistent containers Map and Set based on hashing. Description: An implementation of persistent 'Map' and 'Set' containers based on hashing. The implementation is build on@@ -28,7 +28,7 @@ Category: Data Build-type: Simple Cabal-version: >= 1.6-Extra-source-files: CHANGES, README.md+Extra-source-files: CHANGES, README.md, include/*.h tested-with: GHC == 7.0.4 , GHC == 7.2.2 , GHC == 7.4.2
+ include/hashmap.h view
@@ -0,0 +1,27 @@+#ifndef HASKELL_HASHMAP_H+#define HASKELL_HASHMAP_H++/*+ * Define INSTANCE_TYPEABLE[0-2]+ */+#if __GLASGOW_HASKELL__ >= 707+#define INSTANCE_TYPEABLE0(tycon,tcname,str) deriving instance Typeable tycon+#define INSTANCE_TYPEABLE1(tycon,tcname,str) deriving instance Typeable tycon+#define INSTANCE_TYPEABLE2(tycon,tcname,str) deriving instance Typeable tycon+#elif defined(__GLASGOW_HASKELL__)+#define INSTANCE_TYPEABLE0(tycon,tcname,str) deriving instance Typeable tycon+#define INSTANCE_TYPEABLE1(tycon,tcname,str) deriving instance Typeable1 tycon+#define INSTANCE_TYPEABLE2(tycon,tcname,str) deriving instance Typeable2 tycon+#else+#define INSTANCE_TYPEABLE0(tycon,tcname,str) tcname :: TyCon; tcname = mkTyCon str; \+ instance Typeable tycon where { typeOf _ = mkTyConApp tcname [] }+#define INSTANCE_TYPEABLE1(tycon,tcname,str) tcname :: TyCon; tcname = mkTyCon str; \+ instance Typeable1 tycon where { typeOf1 _ = mkTyConApp tcname [] }; \+ instance Typeable a => Typeable (tycon a) where { typeOf = typeOfDefault }+#define INSTANCE_TYPEABLE2(tycon,tcname,str) tcname :: TyCon; tcname = mkTyCon str; \+ instance Typeable2 tycon where { typeOf2 _ = mkTyConApp tcname [] }; \+ instance Typeable a => Typeable1 (tycon a) where { typeOf1 = typeOf1Default }; \+ instance (Typeable a, Typeable b) => Typeable (tycon a b) where { typeOf = typeOfDefault }+#endif++#endif