[commit: vector] master: Use mkTyCon3 if available (4303374)
Ian Lynagh
igloo at earth.li
Sun Aug 28 14:31:07 CEST 2011
Repository : ssh://darcs.haskell.org//srv/darcs/packages/vector
On branch : master
http://hackage.haskell.org/trac/ghc/changeset/430337412585ebff3ed615e44f51afb4a391377d
>---------------------------------------------------------------
commit 430337412585ebff3ed615e44f51afb4a391377d
Author: Roman Leshchinskiy <rl at cse.unsw.edu.au>
Date: Fri Aug 26 22:28:02 2011 +0000
Use mkTyCon3 if available
>---------------------------------------------------------------
Data/Vector/Unboxed/Base.hs | 21 +++++++++++++++------
1 files changed, 15 insertions(+), 6 deletions(-)
diff --git a/Data/Vector/Unboxed/Base.hs b/Data/Vector/Unboxed/Base.hs
index 4eef8af..2d9822e 100644
--- a/Data/Vector/Unboxed/Base.hs
+++ b/Data/Vector/Unboxed/Base.hs
@@ -29,7 +29,13 @@ import Data.Word ( Word, Word8, Word16, Word32, Word64 )
import Data.Int ( Int8, Int16, Int32, Int64 )
import Data.Complex
-import Data.Typeable ( Typeable1(..), Typeable2(..), mkTyConApp, mkTyCon )
+import Data.Typeable ( Typeable1(..), Typeable2(..), mkTyConApp,
+#if MIN_VERSION_base(4,4,0)
+ mkTyCon3
+#else
+ mkTyCon
+#endif
+ )
import Data.Data ( Data(..) )
#include "vector.h"
@@ -48,20 +54,23 @@ class (G.Vector Vector a, M.MVector MVector a) => Unbox a
-- Data and Typeable
-- -----------------
-vectorTy :: String
-vectorTy = "Data.Vector.Unboxed.Vector"
+#if MIN_VERSION_base(4,4,0)
+vectorTyCon = mkTyCon3 "vector"
+#else
+vectorTyCon m s = mkTyCon $ m ++ "." ++ s
+#endif
instance Typeable1 Vector where
- typeOf1 _ = mkTyConApp (mkTyCon vectorTy) []
+ typeOf1 _ = mkTyConApp (vectorTyCon "Data.Vector.Unboxed" "Vector") []
instance Typeable2 MVector where
- typeOf2 _ = mkTyConApp (mkTyCon "Data.Vector.Unboxed.Mutable.MVector") []
+ typeOf2 _ = mkTyConApp (vectorTyCon "Data.Vector.Unboxed.Mutable" "MVector") []
instance (Data a, Unbox a) => Data (Vector a) where
gfoldl = G.gfoldl
toConstr _ = error "toConstr"
gunfold _ _ = error "gunfold"
- dataTypeOf _ = G.mkType vectorTy
+ dataTypeOf _ = G.mkType "Data.Vector.Unboxed.Vector"
dataCast1 = G.dataCast
-- ----
More information about the Cvs-libraries
mailing list