Skip to content

Commit 7162f6a

Browse files
committed
Implement unionBySorted API
1 parent b2e386a commit 7162f6a

File tree

3 files changed

+648
-6
lines changed

3 files changed

+648
-6
lines changed

src/Streamly/Internal/Data/Stream/IsStream/Top.hs

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ module Streamly.Internal.Data.Stream.IsStream.Top
3232
, differenceBy
3333
, mergeDifferenceBy
3434
, unionBy
35-
, mergeUnionBy
35+
, unionBySorted
3636

3737
-- ** Join operations
3838
, crossJoin
@@ -680,8 +680,11 @@ unionBy eq s1 s2 =
680680
--
681681
-- Space: O(1)
682682
--
683-
-- /Unimplemented/
684-
{-# INLINE mergeUnionBy #-}
685-
mergeUnionBy :: -- (IsStream t, Monad m) =>
683+
-- /Pre-release/
684+
{-# INLINE unionBySorted #-}
685+
unionBySorted :: (IsStream t, MonadAsync m, Ord a) =>
686686
(a -> a -> Ordering) -> t m a -> t m a -> t m a
687-
mergeUnionBy _eq _s1 _s2 = undefined
687+
unionBySorted cmp s1 =
688+
IsStream.fromStreamD
689+
. StreamD.unionBySorted cmp (IsStream.toStreamD s1)
690+
. IsStream.toStreamD

0 commit comments

Comments
 (0)