Reimplement specialisation of monadic functions
[darcs-mirrors/vector.git] / Data / Vector / Storable.hs
index f11d91b..b820dba 100644 (file)
@@ -39,7 +39,7 @@ module Data.Vector.Storable (
   empty, singleton, replicate, generate,
 
   -- ** Monadic initialisation
-  replicateM, replicatePrimM, create,
+  replicateM, create,
 
   -- ** Unfolding
   unfoldr, unfoldrN,
@@ -548,21 +548,10 @@ concat = G.concat
 
 -- | /O(n)/ Execute the monadic action the given number of times and store the
 -- results in a vector.
---
--- /NOTE:/ This function is inefficient because it has to be implemented via
--- lists. It is specialised to 'replicatePrimM' for 'IO' and 'ST' but
--- in general, it is better to use the latter directly.
 replicateM :: (Monad m, Storable a) => Int -> m a -> m (Vector a)
 {-# INLINE replicateM #-}
 replicateM = G.replicateM
 
--- | /O(n)/ Execute the monadic action the given number of times and store the
--- results in a vector. This function is significantly more efficient that
--- 'replicateM' but supports only primitive monads (i.e., 'IO' and 'ST').
-replicatePrimM :: (PrimMonad m, Storable a) => Int -> m a -> m (Vector a)
-{-# INLINE replicatePrimM #-}
-replicatePrimM = G.replicatePrimM
-
 -- | Execute the monadic action and freeze the resulting vector.
 --
 -- @