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