@@ -75,12 +75,14 @@ module Streamly.Internal.Data.Stream.IsStream.Expand
75 , zipAsyncWithM
75 , zipAsyncWithM
77 -- ** Merge
77 -- ** Merge
78− -- , merge
78+ , merge
80 , mergeByM
80 , mergeByM
81 , mergeByMFused
81 , mergeByMFused
82 , mergeAsyncBy
82 , mergeAsyncBy
83 , mergeAsyncByM
83 , mergeAsyncByM
85 -- * Combine Streams and Unfolds
87 -- * Combine Streams and Unfolds
@@ -764,37 +766,36 @@ mergeByMFused
764mergeByMFused f m1 m2 =
766mergeByMFused f m1 m2 =
765 fromStreamD $ D.mergeByM f (toStreamD m1) (toStreamD m2)
767 fromStreamD $ D.mergeByM f (toStreamD m1) (toStreamD m2)
768-- | Like 'mergeByM' but stops merging as soon as any of the two streams stops.
769-- | Like 'mergeByM' but stops merging as soon as any of the two streams stops.
769−{-# INLINABLE mergeEndByAny #-}
772+{-# INLINABLE mergeMinBy #-}
771− :: (IsStream t, Monad m)
773+mergeMinBy :: -- (IsStream t, Monad m) =>
772− => (a -> a -> m Ordering) -> t m a -> t m a -> t m a
774+ (a -> a -> m Ordering) -> t m a -> t m a -> t m a
773−mergeEndByAny f m1 m2 = fromStreamD $
775+mergeMinBy _f _m1 _m2 = undefined
774− D.mergeEndByAny f (toStreamD m1) (toStreamD m2)
776+ -- fromStreamD $ D.mergeMinBy f (toStreamD m1) (toStreamD m2)
776−-- Like 'mergeByM' but stops merging as soon as the first stream stops.
778+-- | Like 'mergeByM' but stops merging as soon as the first stream stops.
777−{-# INLINABLE mergeEndByFirst #-}
781+{-# INLINABLE mergeFstBy #-}
779− :: (IsStream t, Monad m)
782+mergeFstBy :: -- (IsStream t, Monad m) =>
780− => (a -> a -> m Ordering) -> t m a -> t m a -> t m a
783+ (a -> a -> m Ordering) -> t m a -> t m a -> t m a
781−mergeEndByFirst f m1 m2 = fromStreamS $
784+mergeFstBy _f _m1 _m2 = undefined
782− D.mergeEndByFirst f (toStreamD m1) (toStreamD m2)
785+ -- fromStreamS $ D.mergeFstBy f (toStreamD m1) (toStreamD m2)
784−-- Holding this back for now, we may want to use the name "merge" differently
787+-- XXX we may want to use the name "merge" differently
785-- | Same as @'mergeBy' 'compare'@.
788-- | Same as @'mergeBy' 'compare'@.
788-- >>> Stream.toList $ Stream.merge (Stream.fromList [1,3,5]) (Stream.fromList [2,4,6,8])
790-- >>> Stream.toList $ Stream.merge (Stream.fromList [1,3,5]) (Stream.fromList [2,4,6,8])
789-- [1,2,3,4,5,6,8]
791-- [1,2,3,4,5,6,8]
792−-- @since 0.6.0
793+-- /Internal/
793{-# INLINABLE merge #-}
795{-# INLINABLE merge #-}
795− (IsStream t, Monad m, Ord a) => t m a -> t m a -> t m a
797+ (IsStream t, Ord a) => t m a -> t m a -> t m a
796merge = mergeBy compare
798merge = mergeBy compare
799-- | Like 'mergeBy' but merges concurrently (i.e. both the elements being
800-- | Like 'mergeBy' but merges concurrently (i.e. both the elements being
800-- merged are generated concurrently).
801-- merged are generated concurrently).