@@ -59,8 +59,8 @@ module Streamly.Internal.Data.Array
5959 -- * Subarrays
6060 , getSliceUnsafe
6161 -- , getSlice
62− , genSlicesFromLen
63− , getSlicesFromLen
62+ , sliceIndexerFromLen
63+ , slicerFromLen
6464 , splitOn
6565
6666 -- * Streaming Operations
@@ -75,6 +75,10 @@ module Streamly.Internal.Data.Array
7575 , serialize
7676 , pinnedSerialize
7777 , deserialize
78+
79+ -- * Deprecated
80+ , genSlicesFromLen
81+ , getSlicesFromLen
7882 )
7983where
8084
@@ -329,27 +333,41 @@ splitOn predicate arr =
329333 fmap (\(i, len) -> getSliceUnsafe i len arr)
330334 $ D.sliceOnSuffix predicate (A.toStreamD arr)
331335
332−{-# INLINE genSlicesFromLen #-}
336+{-# INLINE sliceIndexerFromLen #-}
337+sliceIndexerFromLen :: forall m a. (Monad m, Unbox a)
338+ => Int -- ^ from index
339+ -> Int -- ^ length of the slice
340+ -> Unfold m (Array a) (Int, Int)
341+sliceIndexerFromLen from len =
342+ Unfold.lmap A.unsafeThaw (MA.sliceIndexerFromLen from len)
343+
344+{-# DEPRECATED genSlicesFromLen "Please use sliceIndexerFromLen instead." #-}
333345genSlicesFromLen :: forall m a. (Monad m, Unbox a)
334346 => Int -- ^ from index
335347 -> Int -- ^ length of the slice
336348 -> Unfold m (Array a) (Int, Int)
337−genSlicesFromLen from len =
338− Unfold.lmap A.unsafeThaw (MA.genSlicesFromLen from len)
349+genSlicesFromLen = sliceIndexerFromLen
339350
340351-- | Generate a stream of slices of specified length from an array, starting
341352-- from the supplied array index. The last slice may be shorter than the
342353-- requested length.
343354--
344355-- /Pre-release//
345−{-# INLINE getSlicesFromLen #-}
346−getSlicesFromLen :: forall m a. (Monad m, Unbox a)
356+{-# INLINE slicerFromLen #-}
357+slicerFromLen :: forall m a. (Monad m, Unbox a)
347358 => Int -- ^ from index
348359 -> Int -- ^ length of the slice
349360 -> Unfold m (Array a) (Array a)
350−getSlicesFromLen from len =
361+slicerFromLen from len =
351362 fmap A.unsafeFreeze
352− $ Unfold.lmap A.unsafeThaw (MA.getSlicesFromLen from len)
363+ $ Unfold.lmap A.unsafeThaw (MA.slicerFromLen from len)
364+
365+{-# DEPRECATED getSlicesFromLen "Please use slicerFromLen instead." #-}
366+getSlicesFromLen :: forall m a. (Monad m, Unbox a)
367+ => Int -- ^ from index
368+ -> Int -- ^ length of the slice
369+ -> Unfold m (Array a) (Array a)
370+getSlicesFromLen = slicerFromLen
353371
354372-------------------------------------------------------------------------------
355373-- Random reads and writes