@@ -252,7 +252,7 @@ joinLeft eq s1 s2 = Stream.evalStateT (return False) $ getCrossStream $ do
252252 -- XXX Is there a better way to perform some action at the end of a loop
253253 -- iteration?
254254 CrossStream (Stream.fromEffect $ put False)
255− let final = Stream.concatM $ do
255+ let final = Stream.concatEffect $ do
256256 r <- get
257257 if r
258258 then pure Stream.nil
@@ -300,7 +300,7 @@ joinOuter :: MonadIO m =>
300300 -> Stream m b
301301 -> Stream m (Maybe a, Maybe b)
302302joinOuter eq s1 s =
303− Stream.concatM $ do
303+ Stream.concatEffect $ do
304304 inputArr <- Array.fromStream s
305305 let len = Array.length inputArr
306306 foundArr <-
@@ -331,7 +331,7 @@ joinOuter eq s1 s =
331331 -- XXX Is there a better way to perform some action at the end of a loop
332332 -- iteration?
333333 CrossStream (Stream.fromEffect $ put False)
334− let final = Stream.concatM $ do
334+ let final = Stream.concatEffect $ do
335335 r <- get
336336 if r
337337 then pure Stream.nil
@@ -398,7 +398,7 @@ mergeOuterJoin _eq _s1 _s2 = undefined
398398intersectBy :: Monad m =>
399399 (a -> a -> Bool) -> Stream m a -> Stream m a -> Stream m a
400400intersectBy eq s1 s2 =
401− Stream.concatM
401+ Stream.concatEffect
402402 $ do
403403 -- This may work well when s2 is small
404404 xs <- Stream.fold Fold.toListRev $ Stream.uniqBy eq s2
@@ -447,7 +447,7 @@ intersectBySorted eq s1 =
447447differenceBy :: (Monad m) =>
448448 (a -> a -> Bool) -> Stream m a -> Stream m a -> Stream m a
449449differenceBy eq s1 s2 =
450− Stream.concatM
450+ Stream.concatEffect
451451 $ do
452452 -- This may work well if s1 is small
453453 -- If s1 is big we can go through s1, deleting elements from s2 and
@@ -492,7 +492,7 @@ mergeDifferenceBy _eq _s1 _s2 = undefined
492492unionBy :: MonadIO m =>
493493 (a -> a -> Bool) -> Stream m a -> Stream m a -> Stream m a
494494unionBy eq s1 s2 =
495− Stream.concatM
495+ Stream.concatEffect
496496 $ do
497497 xs <- Stream.fold Fold.toList s2
498498 -- XXX we can use postscanlMAfter' instead of IORef
@@ -500,7 +500,7 @@ unionBy eq s1 s2 =
500500 let f x = do
501501 liftIO $ modifyIORef' ref (List.deleteBy eq x)
502502 return x
503− s3 = Stream.concatM
503+ s3 = Stream.concatEffect
504504 $ do
505505 xs1 <- liftIO $ readIORef ref
506506 return $ Stream.fromList xs1