on master help sign in
Add an 'ahead' operation for ordered append
8480c9eHarendra Kumar
src/Streamly/Internal/Data/Stream/Async.hs+9
@@ -57,6 +57,7 @@ module Streamly.Internal.Data.Stream.Async
57 , appendWith
57 , appendWith
58 , interleave
58 , interleave
59 , interleaveWith
59 , interleaveWith
60+ , ahead
60 , parallel
61 , parallel
61 , parallelFst
62 , parallelFst
62 , parallelMin
63 , parallelMin
@@ -178,6 +179,14 @@ append = appendWith id
178interleave :: MonadAsync m => Stream m a -> Stream m a -> Stream m a
179interleave :: MonadAsync m => Stream m a -> Stream m a -> Stream m a
179interleave = interleaveWith id
180interleave = interleaveWith id
180
181
182+-- | Like 'append' but with 'ordered' on.
183+--
184+-- >>> ahead = Async.appendWith Async.ordered
185+--
186+{-# INLINE ahead #-}
187+ahead :: MonadAsync m => Stream m a -> Stream m a -> Stream m a
188+ahead = appendWith ordered
189+
181-- | Like 'append' but with 'eagerEval' on.
190-- | Like 'append' but with 'eagerEval' on.
182--
191--
183-- >>> parallel = Async.appendWith Async.eagerEval
192-- >>> parallel = Async.appendWith Async.eagerEval