commit 201fa11eef1077c948ddff0d5ff99e4a68e12ef9
parent 0df6c60f3f31b7973b73d75b20a94e2bfb403f1e
Author: Jared Tobin <jared@jtobin.ca>
Date:   Thu,  3 Mar 2016 21:34:00 +1300
Return lists rather than vectors.
Diffstat:
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/lib/Numeric/Sampling.hs b/lib/Numeric/Sampling.hs
@@ -29,7 +29,7 @@ import Data.Foldable (Foldable)
 #endif
 import           Data.Function               (on)
 import           Data.List                   (sortBy)
-import           Data.Vector                 (Vector)
+import qualified Data.Vector                 as V (toList)
 import           Numeric.Sampling.Internal
 import           System.Random.MWC
 
@@ -39,14 +39,14 @@ import           System.Random.MWC
 --   being sampled from.
 sample
   :: (PrimMonad m, Foldable f)
-  => Int -> f a -> Gen (PrimState m) -> m (Maybe (Vector a))
+  => Int -> f a -> Gen (PrimState m) -> m (Maybe [a])
 sample n xs gen
   | n < 0     = return Nothing
-  | otherwise = F.foldM (randomN n gen) xs
+  | otherwise = fmap (fmap V.toList) (F.foldM (randomN n gen) xs)
 {-# INLINABLE sample #-}
 
 -- | (/O(n)/) 'sample' specialized to IO.
-sampleIO :: Foldable f => Int -> f a -> IO (Maybe (Vector a))
+sampleIO :: Foldable f => Int -> f a -> IO (Maybe [a])
 sampleIO n xs = do
   gen <- createSystemRandom
   sample n xs gen
diff --git a/sampling.cabal b/sampling.cabal
@@ -1,5 +1,5 @@
 name:                sampling
-version:             0.1.1
+version:             0.2.0
 synopsis:            Sample values from collections.
 homepage:            https://github.com/jtobin/sampling
 license:             MIT