Rename classes and modules
[darcs-mirrors/vector.git] / Data / Vector / MVector.hs
similarity index 84%
rename from Data/Vector/Base/Mutable.hs
rename to Data/Vector/MVector.hs
index f28490c..32f358f 100644 (file)
@@ -1,6 +1,6 @@
 {-# LANGUAGE MultiParamTypeClasses #-}
-module Data.Vector.Base.Mutable (
-  Base(..),
+module Data.Vector.MVector (
+  MVector(..),
 
   slice, new, newWith, read, write, copy, grow, unstream
 ) where
@@ -21,7 +21,7 @@ import Prelude hiding ( length, read )
 gROWTH_FACTOR :: Double
 gROWTH_FACTOR = 1.5
 
-class Monad m => Base v m a where
+class Monad m => MVector v m a where
   length           :: v m a -> Int
   unsafeSlice      :: v m a -> Int -> Int -> v m a
 
@@ -72,49 +72,49 @@ class Monad m => Base v m a where
     where
       n = length v
 
-inBounds :: Base v m a => v m a -> Int -> Bool
+inBounds :: MVector v m a => v m a -> Int -> Bool
 {-# INLINE inBounds #-}
 inBounds v i = i >= 0 && i < length v
 
-slice :: Base v m a => v m a -> Int -> Int -> v m a
+slice :: MVector v m a => v m a -> Int -> Int -> v m a
 {-# INLINE slice #-}
 slice v i n = assert (i >=0 && n >= 0 && i+n <= length v)
             $ unsafeSlice v i n
 
-new :: Base v m a => Int -> m (v m a)
+new :: MVector v m a => Int -> m (v m a)
 {-# INLINE new #-}
 new n = assert (n >= 0) $ unsafeNew n
 
-newWith :: Base v m a => Int -> a -> m (v m a)
+newWith :: MVector v m a => Int -> a -> m (v m a)
 {-# INLINE newWith #-}
 newWith n x = assert (n >= 0) $ unsafeNewWith n x
 
-read :: Base v m a => v m a -> Int -> m a
+read :: MVector v m a => v m a -> Int -> m a
 {-# INLINE read #-}
 read v i = assert (inBounds v i) $ unsafeRead v i
 
-write :: Base v m a => v m a -> Int -> a -> m ()
+write :: MVector v m a => v m a -> Int -> a -> m ()
 {-# INLINE write #-}
 write v i x = assert (inBounds v i) $ unsafeWrite v i x
 
-copy :: Base v m a => v m a -> v m a -> m ()
+copy :: MVector v m a => v m a -> v m a -> m ()
 {-# INLINE copy #-}
 copy dst src = assert (not (dst `overlaps` src) && length dst == length src)
              $ unsafeCopy dst src
 
-grow :: Base v m a => v m a -> Int -> m (v m a)
+grow :: MVector v m a => v m a -> Int -> m (v m a)
 {-# INLINE grow #-}
 grow v by = assert (by >= 0)
           $ unsafeGrow v by
 
 
-unstream :: Base v m a => Stream a -> m (v m a)
+unstream :: MVector v m a => Stream a -> m (v m a)
 {-# INLINE unstream #-}
 unstream s = case upperBound (Stream.size s) of
                Just n  -> unstreamMax     s n
                Nothing -> unstreamUnknown s
 
-unstreamMax :: Base v m a => Stream a -> Int -> m (v m a)
+unstreamMax :: MVector v m a => Stream a -> Int -> m (v m a)
 {-# INLINE unstreamMax #-}
 unstreamMax s n
   = do
@@ -123,7 +123,7 @@ unstreamMax s n
       n' <- Stream.foldM put 0 s
       return $ slice v 0 n'
 
-unstreamUnknown :: Base v m a => Stream a -> m (v m a)
+unstreamUnknown :: MVector v m a => Stream a -> m (v m a)
 {-# INLINE unstreamUnknown #-}
 unstreamUnknown s
   = do