on master help sign in
Update merge docs, add unimplemented signatures
749ec5eHarendra Kumar
src/Streamly/Internal/Data/Stream/IsStream/Expand.hs+22−21
@@ -75,12 +75,14 @@ module Streamly.Internal.Data.Stream.IsStream.Expand
75 , zipAsyncWithM
75 , zipAsyncWithM
76
76
77 -- ** Merge
77 -- ** Merge
78− -- , merge
78+ , merge
79 , mergeBy
79 , mergeBy
80 , mergeByM
80 , mergeByM
81 , mergeByMFused
81 , mergeByMFused
82 , mergeAsyncBy
82 , mergeAsyncBy
83 , mergeAsyncByM
83 , mergeAsyncByM
84+ , mergeMinBy
85+ , mergeFstBy
84
86
85 -- * Combine Streams and Unfolds
87 -- * Combine Streams and Unfolds
86 -- |
88 -- |
@@ -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)
766
768
767−{-
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.
770+--
771+-- /Unimplemented/
769−{-# INLINABLE mergeEndByAny #-}
772+{-# INLINABLE mergeMinBy #-}
770−mergeEndByAny
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)
775
777
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.
779+--
780+-- /Unimplemented/
777−{-# INLINABLE mergeEndByFirst #-}
781+{-# INLINABLE mergeFstBy #-}
778−mergeEndByFirst
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)
783
786
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'@.
786--
789--
787−-- @
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]
790−-- @
791--
792--
792−-- @since 0.6.0
793+-- /Internal/
794+--
793{-# INLINABLE merge #-}
795{-# INLINABLE merge #-}
794merge ::
796merge ::
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
797−-}
798
799
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).