on master help sign in
Update merge docs, add unimplemented signatures
commit749ec5ed4d949cc90e129bdec53f13051a1cb13f authorHarendra Kumar <harendra@composewell.com> dateFri 11 Mar 2022, 19:34 (5 years ago) parente50af41
1 file changed+22−21
src/Streamly/Internal/Data/Stream/IsStream/Expand.hs+22−21
src/Streamly/Internal/Data/Stream/IsStream/Expand.hs+22−21
@@ -75,12 +75,14 @@ module Streamly.Internal.Data.Stream.IsStream.Expand
7575 , zipAsyncWithM
7676
7777 -- ** Merge
78− -- , merge
78+ , merge
7979 , mergeBy
8080 , mergeByM
8181 , mergeByMFused
8282 , mergeAsyncBy
8383 , mergeAsyncByM
84+ , mergeMinBy
85+ , mergeFstBy
8486
8587 -- * Combine Streams and Unfolds
8688 -- |
@@ -764,37 +766,36 @@ mergeByMFused
764766mergeByMFused f m1 m2 =
765767 fromStreamD $ D.mergeByM f (toStreamD m1) (toStreamD m2)
766768
767−{-
768769-- | Like 'mergeByM' but stops merging as soon as any of the two streams stops.
769−{-# INLINABLE mergeEndByAny #-}
770−mergeEndByAny
771− :: (IsStream t, Monad m)
772− => (a -> a -> m Ordering) -> t m a -> t m a -> t m a
773−mergeEndByAny f m1 m2 = fromStreamD $
774− D.mergeEndByAny f (toStreamD m1) (toStreamD m2)
770+--
771+-- /Unimplemented/
772+{-# INLINABLE mergeMinBy #-}
773+mergeMinBy :: -- (IsStream t, Monad m) =>
774+ (a -> a -> m Ordering) -> t m a -> t m a -> t m a
775+mergeMinBy _f _m1 _m2 = undefined
776+ -- fromStreamD $ D.mergeMinBy f (toStreamD m1) (toStreamD m2)
775777
776−-- Like 'mergeByM' but stops merging as soon as the first stream stops.
777−{-# INLINABLE mergeEndByFirst #-}
778−mergeEndByFirst
779− :: (IsStream t, Monad m)
780− => (a -> a -> m Ordering) -> t m a -> t m a -> t m a
781−mergeEndByFirst f m1 m2 = fromStreamS $
782− D.mergeEndByFirst f (toStreamD m1) (toStreamD m2)
778+-- | Like 'mergeByM' but stops merging as soon as the first stream stops.
779+--
780+-- /Unimplemented/
781+{-# INLINABLE mergeFstBy #-}
782+mergeFstBy :: -- (IsStream t, Monad m) =>
783+ (a -> a -> m Ordering) -> t m a -> t m a -> t m a
784+mergeFstBy _f _m1 _m2 = undefined
785+ -- fromStreamS $ D.mergeFstBy f (toStreamD m1) (toStreamD m2)
783786
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
785788-- | Same as @'mergeBy' 'compare'@.
786789--
787−-- @
788790-- >>> Stream.toList $ Stream.merge (Stream.fromList [1,3,5]) (Stream.fromList [2,4,6,8])
789791-- [1,2,3,4,5,6,8]
790−-- @
791792--
792−-- @since 0.6.0
793+-- /Internal/
794+--
793795{-# INLINABLE merge #-}
794796merge ::
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
796798merge = mergeBy compare
797−-}
798799
799800-- | Like 'mergeBy' but merges concurrently (i.e. both the elements being
800801-- merged are generated concurrently).