Add unfoldrN
[darcs-mirrors/vector.git] / Data / Vector / Fusion / Stream.hs
index f45baa6..db25db4 100644 (file)
@@ -55,7 +55,7 @@ module Data.Vector.Fusion.Stream (
   and, or,
 
   -- * Unfolding
-  unfoldr,
+  unfoldr, unfoldrN,
 
   -- * Scans
   prescanl, prescanl',
@@ -411,6 +411,11 @@ unfoldr :: (s -> Maybe (a, s)) -> s -> Stream a
 {-# INLINE unfoldr #-}
 unfoldr = M.unfoldr
 
+-- | Unfold at most @n@ elements
+unfoldrN :: Int -> (s -> Maybe (a, s)) -> s -> Stream a
+{-# INLINE unfoldrN #-}
+unfoldrN = M.unfoldrN
+
 -- Scans
 -- -----