Type family mapping each Vector to its MVector
[darcs-mirrors/vector.git] / Data / Vector / Primitive.hs
index ae22357..8bab50e 100644 (file)
@@ -1,4 +1,4 @@
-{-# LANGUAGE FlexibleInstances, MultiParamTypeClasses #-}
+{-# LANGUAGE FlexibleInstances, MultiParamTypeClasses, TypeFamilies #-}
 
 -- |
 -- Module      : Data.Vector.Primitive
@@ -95,6 +95,8 @@ data Vector a = Vector {-# UNPACK #-} !Int
 instance (Show a, Prim a) => Show (Vector a) where
     show = (Prelude.++ " :: Data.Vector.Primitive.Vector") . ("fromList " Prelude.++) . show . toList
 
+type instance G.Mutable Vector = MVector
+
 instance Prim a => G.Vector Vector a where
   {-# INLINE basicNew #-}
   basicNew init = runST (do