File tree Expand file tree Collapse file tree 3 files changed +595
-8
lines changed
src/Streamly/Internal/Data/Stream
test/Streamly/Test/Data/Stream Expand file tree Collapse file tree 3 files changed +595
-8
lines changed Original file line number Diff line number Diff line change @@ -28,11 +28,11 @@ module Streamly.Internal.Data.Stream.IsStream.Top
2828 -- | These are not exactly set operations because streams are not
2929 -- necessarily sets, they may have duplicated elements.
3030 , intersectBy
31- , intersectBySorted
31+ , intersectBySorted
3232 , differenceBy
3333 , mergeDifferenceBy
3434 , unionBy
35- , mergeUnionBy
35+ , unionBySorted
3636
3737 -- ** Join operations
3838 , crossJoin
@@ -521,7 +521,9 @@ intersectBy eq s1 s2 =
521521intersectBySorted :: (IsStream t , MonadIO m , Eq a ) =>
522522 (a -> a -> Ordering ) -> t m a -> t m a -> t m a
523523intersectBySorted eq s1 =
524- IsStream. fromStreamD . StreamD. intersectBySorted eq (IsStream. toStreamD s1) . IsStream. toStreamD
524+ IsStream. fromStreamD
525+ . StreamD. intersectBySorted eq (IsStream. toStreamD s1)
526+ . IsStream. toStreamD
525527
526528-- Roughly leftJoin s1 s2 = s1 `difference` s2 + s1 `intersection` s2
527529
@@ -613,8 +615,11 @@ unionBy eq s1 s2 =
613615--
614616-- Space: O(1)
615617--
616- -- /Unimplemented /
617- {-# INLINE mergeUnionBy #-}
618- mergeUnionBy :: -- (IsStream t, Monad m ) =>
618+ -- /Pre-release /
619+ {-# INLINE unionBySorted #-}
620+ unionBySorted :: (IsStream t , MonadAsync m , Ord a ) =>
619621 (a -> a -> Ordering ) -> t m a -> t m a -> t m a
620- mergeUnionBy _eq _s1 _s2 = undefined
622+ unionBySorted cmp s1 =
623+ IsStream. fromStreamD
624+ . StreamD. unionBySorted cmp (IsStream. toStreamD s1)
625+ . IsStream. toStreamD
You can’t perform that action at this time.
0 commit comments