on master help sign in
Rename getCrossStream to unCrossStream (#2140)
commitadd956530649dae3d2c24a18ea1b15347b6f55b2 authorRanjeet Ranjan <ranjeetr@composewell.com> dateWed 30 Nov 2022, 16:18 (4 years ago) parent3a21b44
10 files changed+33−33
benchmark/Streamly/Benchmark/Data/Stream/Common.hs+13−13 benchmark/Streamly/Benchmark/Data/Stream/Expand.hs+1−1 benchmark/Streamly/Benchmark/Data/Stream/Generate.hs+1−1 benchmark/Streamly/Benchmark/Data/Stream/Transform.hs+1−1 core/src/Streamly/Internal/Data/List.hs+2−2 core/src/Streamly/Internal/Data/Stream/Cross.hs+4−4 core/src/Streamly/Internal/Data/Stream/Generate.hs+1−1 core/src/Streamly/Internal/Data/Stream/Top.hs+3−3 docs/User/Tutorials/ConcurrentStreams.hs+2−2 docs/User/Tutorials/Tutorial.hs+5−5
benchmark/Streamly/Benchmark/Data/Stream/Common.hs+13−13
@@ -228,7 +228,7 @@ sourceConcatMapId value n =
228228{-# INLINE apDiscardFst #-}
229229apDiscardFst :: MonadAsync m =>
230230 Int -> Int -> m ()
231−apDiscardFst linearCount start = drain $ getCrossStream $
231+apDiscardFst linearCount start = drain $ unCrossStream $
232232 CrossStream (sourceUnfoldrM nestedCount2 start)
233233 *> CrossStream (sourceUnfoldrM nestedCount2 start)
234234
@@ -238,7 +238,7 @@ apDiscardFst linearCount start = drain $ getCrossStream $
238238
239239{-# INLINE apDiscardSnd #-}
240240apDiscardSnd :: MonadAsync m => Int -> Int -> m ()
241−apDiscardSnd linearCount start = drain $ getCrossStream $
241+apDiscardSnd linearCount start = drain $ unCrossStream $
242242 CrossStream (sourceUnfoldrM nestedCount2 start)
243243 <* CrossStream (sourceUnfoldrM nestedCount2 start)
244244
@@ -248,7 +248,7 @@ apDiscardSnd linearCount start = drain $ getCrossStream $
248248
249249{-# INLINE apLiftA2 #-}
250250apLiftA2 :: MonadAsync m => Int -> Int -> m ()
251−apLiftA2 linearCount start = drain $ getCrossStream $
251+apLiftA2 linearCount start = drain $ unCrossStream $
252252 liftA2 (+) (CrossStream (sourceUnfoldrM nestedCount2 start))
253253 (CrossStream (sourceUnfoldrM nestedCount2 start))
254254
@@ -258,7 +258,7 @@ apLiftA2 linearCount start = drain $ getCrossStream $
258258
259259{-# INLINE toNullAp #-}
260260toNullAp :: MonadAsync m => Int -> Int -> m ()
261−toNullAp linearCount start = drain $ getCrossStream $
261+toNullAp linearCount start = drain $ unCrossStream $
262262 (+) <$> CrossStream (sourceUnfoldrM nestedCount2 start)
263263 <*> CrossStream (sourceUnfoldrM nestedCount2 start)
264264
@@ -268,7 +268,7 @@ toNullAp linearCount start = drain $ getCrossStream $
268268
269269{-# INLINE monadThen #-}
270270monadThen :: MonadAsync m => Int -> Int -> m ()
271−monadThen linearCount start = drain $ getCrossStream $ do
271+monadThen linearCount start = drain $ unCrossStream $ do
272272 CrossStream (sourceUnfoldrM nestedCount2 start) >>
273273 CrossStream (sourceUnfoldrM nestedCount2 start)
274274
@@ -278,7 +278,7 @@ monadThen linearCount start = drain $ getCrossStream $ do
278278
279279{-# INLINE toNullM #-}
280280toNullM :: MonadAsync m => Int -> Int -> m ()
281−toNullM linearCount start = drain $ getCrossStream $ do
281+toNullM linearCount start = drain $ unCrossStream $ do
282282 x <- CrossStream (sourceUnfoldrM nestedCount2 start)
283283 y <- CrossStream (sourceUnfoldrM nestedCount2 start)
284284 return $ x + y
@@ -289,7 +289,7 @@ toNullM linearCount start = drain $ getCrossStream $ do
289289
290290{-# INLINE toNullM3 #-}
291291toNullM3 :: MonadAsync m => Int -> Int -> m ()
292−toNullM3 linearCount start = drain $ getCrossStream $ do
292+toNullM3 linearCount start = drain $ unCrossStream $ do
293293 x <- CrossStream (sourceUnfoldrM nestedCount3 start)
294294 y <- CrossStream (sourceUnfoldrM nestedCount3 start)
295295 z <- CrossStream (sourceUnfoldrM nestedCount3 start)
@@ -299,7 +299,7 @@ toNullM3 linearCount start = drain $ getCrossStream $ do
299299
300300{-# INLINE filterAllOutM #-}
301301filterAllOutM :: MonadAsync m => Int -> Int -> m ()
302−filterAllOutM linearCount start = drain $ getCrossStream $ do
302+filterAllOutM linearCount start = drain $ unCrossStream $ do
303303 x <- CrossStream (sourceUnfoldrM nestedCount2 start)
304304 y <- CrossStream (sourceUnfoldrM nestedCount2 start)
305305 let s = x + y
@@ -311,7 +311,7 @@ filterAllOutM linearCount start = drain $ getCrossStream $ do
311311
312312{-# INLINE filterAllInM #-}
313313filterAllInM :: MonadAsync m => Int -> Int -> m ()
314−filterAllInM linearCount start = drain $ getCrossStream $ do
314+filterAllInM linearCount start = drain $ unCrossStream $ do
315315 x <- CrossStream (sourceUnfoldrM nestedCount2 start)
316316 y <- CrossStream (sourceUnfoldrM nestedCount2 start)
317317 let s = x + y
@@ -323,7 +323,7 @@ filterAllInM linearCount start = drain $ getCrossStream $ do
323323
324324{-# INLINE filterSome #-}
325325filterSome :: MonadAsync m => Int -> Int -> m ()
326−filterSome linearCount start = drain $ getCrossStream $ do
326+filterSome linearCount start = drain $ unCrossStream $ do
327327 x <- CrossStream (sourceUnfoldrM nestedCount2 start)
328328 y <- CrossStream (sourceUnfoldrM nestedCount2 start)
329329 let s = x + y
@@ -336,7 +336,7 @@ filterSome linearCount start = drain $ getCrossStream $ do
336336{-# INLINE breakAfterSome #-}
337337breakAfterSome :: Int -> Int -> IO ()
338338breakAfterSome linearCount start = do
339− (_ :: Either ErrorCall ()) <- try $ drain $ getCrossStream $ do
339+ (_ :: Either ErrorCall ()) <- try $ drain $ unCrossStream $ do
340340 x <- CrossStream (sourceUnfoldrM nestedCount2 start)
341341 y <- CrossStream (sourceUnfoldrM nestedCount2 start)
342342 let s = x + y
@@ -349,7 +349,7 @@ breakAfterSome linearCount start = do
349349
350350{-# INLINE toListM #-}
351351toListM :: MonadAsync m => Int -> Int -> m [Int]
352−toListM linearCount start = Stream.fold Fold.toList $ getCrossStream $ do
352+toListM linearCount start = Stream.fold Fold.toList $ unCrossStream $ do
353353 x <- CrossStream (sourceUnfoldrM nestedCount2 start)
354354 y <- CrossStream (sourceUnfoldrM nestedCount2 start)
355355 return $ x + y
@@ -361,7 +361,7 @@ toListM linearCount start = Stream.fold Fold.toList $ getCrossStream $ do
361361{-# INLINE toListSome #-}
362362toListSome :: MonadAsync m => Int -> Int -> m [Int]
363363toListSome linearCount start =
364− Stream.fold Fold.toList $ Stream.take 10000 $ getCrossStream $ do
364+ Stream.fold Fold.toList $ Stream.take 10000 $ unCrossStream $ do
365365 x <- CrossStream (sourceUnfoldrM nestedCount2 start)
366366 y <- CrossStream (sourceUnfoldrM nestedCount2 start)
367367 return $ x + y
benchmark/Streamly/Benchmark/Data/Stream/Expand.hs+1−1
@@ -76,7 +76,7 @@ iterateSingleton ::
7676 -> Int
7777 -> Stream m Int
7878iterateSingleton g count n =
79− getCrossStream $ iterateN g (CrossStream (S.fromPure n)) count
79+ unCrossStream $ iterateN g (CrossStream (S.fromPure n)) count
8080
8181{-
8282-- XXX need to check why this is slower than the explicit recursion above, even
benchmark/Streamly/Benchmark/Data/Stream/Generate.hs+1−1
@@ -179,7 +179,7 @@ fromIndicesM value n = S.take value $ S.fromIndicesM (return <$> (+ n))
179179mfixUnfold :: Int -> Int -> Stream IO (Int, Int)
180180mfixUnfold count start = Stream.mfix f
181181 where
182− f action = getCrossStream $ do
182+ f action = unCrossStream $ do
183183 let incr n act = fmap ((+n) . snd) $ unsafeInterleaveIO act
184184 x <- CrossStream (Common.fromListM [incr 1 action, incr 2 action])
185185 y <- CrossStream (Common.sourceUnfoldr count start)
benchmark/Streamly/Benchmark/Data/Stream/Transform.hs+1−1
@@ -177,7 +177,7 @@ foldrSMap n = composeN n $ Stream.foldrS (\x xs -> x + 1 `Stream.cons` xs) Strea
177177{-
178178{-# INLINE foldrT #-}
179179foldrT :: MonadIO m => Int -> Stream m Int -> m ()
180−foldrT n = composeN n (getCrossStream . Stream.foldrT cns (CrossStream Stream.nil))
180+foldrT n = composeN n (unCrossStream . Stream.foldrT cns (CrossStream Stream.nil))
181181
182182 where cns x (CrossStream xs) = CrossStream (Stream.cons x xs)
183183
core/src/Streamly/Internal/Data/List.hs+2−2
@@ -87,7 +87,7 @@ newtype List a = List { toCrossStream :: CrossStream Identity a }
8787 , Applicative, Traversable, Monad, IsList)
8888
8989toStream :: List a -> Stream Identity a
90−toStream = getCrossStream . toCrossStream
90+toStream = unCrossStream . toCrossStream
9191
9292fromStream :: Stream Identity a -> List a
9393fromStream xs = List (CrossStream xs)
@@ -97,7 +97,7 @@ instance (a ~ Char) => IsString (List a) where
9797 fromString = List . fromList
9898
9999instance Show a => Show (List a) where
100− show (List x) = show $ getCrossStream x
100+ show (List x) = show $ unCrossStream x
101101
102102instance Read a => Read (List a) where
103103 readPrec = fromStream <$> readPrec
core/src/Streamly/Internal/Data/Stream/Cross.hs+4−4
@@ -42,7 +42,7 @@ import qualified Streamly.Internal.Data.Stream.StreamK.Type as K
4242-- A 'Monad' bind behaves like a @for@ loop:
4343--
4444-- >>> :{
45−-- Stream.fold Fold.toList $ getCrossStream $ do
45+-- Stream.fold Fold.toList $ unCrossStream $ do
4646-- x <- CrossStream (Stream.fromList [1,2]) -- foreach x in stream
4747-- return x
4848-- :}
@@ -51,14 +51,14 @@ import qualified Streamly.Internal.Data.Stream.StreamK.Type as K
5151-- Nested monad binds behave like nested @for@ loops:
5252--
5353-- >>> :{
54−-- Stream.fold Fold.toList $ getCrossStream $ do
54+-- Stream.fold Fold.toList $ unCrossStream $ do
5555-- x <- CrossStream (Stream.fromList [1,2]) -- foreach x in stream
5656-- y <- CrossStream (Stream.fromList [3,4]) -- foreach y in stream
5757-- return (x, y)
5858-- :}
5959-- [(1,3),(1,4),(2,3),(2,4)]
6060--
61−newtype CrossStream m a = CrossStream {getCrossStream :: Stream m a}
61+newtype CrossStream m a = CrossStream {unCrossStream :: Stream m a}
6262 deriving (Functor, Semigroup, Monoid, Foldable)
6363
6464-- Pure (Identity monad) stream instances
@@ -122,7 +122,7 @@ instance Monad m => Monad (CrossStream m) where
122122 $ K.bindWith
123123 K.serial
124124 (Stream.toStreamK m)
125− (Stream.toStreamK . getCrossStream . f))
125+ (Stream.toStreamK . unCrossStream . f))
126126
127127 {-# INLINE (>>) #-}
128128 (>>) = (*>)
core/src/Streamly/Internal/Data/Stream/Generate.hs+1−1
@@ -373,7 +373,7 @@ iterateM step = fromStreamD . D.iterateM step
373373-- >>> :{
374374-- main = Stream.fold (Fold.drainMapM print) $ Stream.mfix f
375375-- where
376−-- f action = getCrossStream $ do
376+-- f action = unCrossStream $ do
377377-- let incr n act = fmap ((+n) . snd) $ unsafeInterleaveIO act
378378-- x <- CrossStream (Stream.sequence $ Stream.fromList [incr 1 action, incr 2 action])
379379-- y <- CrossStream (Stream.fromList [4,5])
core/src/Streamly/Internal/Data/Stream/Top.hs+3−3
@@ -162,7 +162,7 @@ sortBy cmp =
162162-- /Pre-release/
163163{-# INLINE crossJoin #-}
164164crossJoin :: Monad m => Stream m a -> Stream m b -> Stream m (a, b)
165−crossJoin s1 s2 = getCrossStream $ do
165+crossJoin s1 s2 = unCrossStream $ do
166166 -- XXX use concatMap instead?
167167 a <- CrossStream s1
168168 b <- CrossStream s2
@@ -245,7 +245,7 @@ joinInnerMerge = undefined
245245{-# INLINE joinLeft #-}
246246joinLeft :: Monad m =>
247247 (a -> b -> Bool) -> Stream m a -> Stream m b -> Stream m (a, Maybe b)
248−joinLeft eq s1 s2 = Stream.evalStateT (return False) $ getCrossStream $ do
248+joinLeft eq s1 s2 = Stream.evalStateT (return False) $ unCrossStream $ do
249249 a <- CrossStream (Stream.liftInner s1)
250250 -- XXX should we use StreamD monad here?
251251 -- XXX Is there a better way to perform some action at the end of a loop
@@ -322,7 +322,7 @@ joinOuter eq s1 s =
322322 ) stream1 stream2
323323 ) & Stream.catMaybes
324324
325− evalState = Stream.evalStateT (return False) . getCrossStream
325+ evalState = Stream.evalStateT (return False) . unCrossStream
326326
327327 go inputArr foundArr = evalState $ do
328328 a <- CrossStream (Stream.liftInner s1)
docs/User/Tutorials/ConcurrentStreams.hs+2−2
@@ -710,7 +710,7 @@ import Control.Monad.Trans.Class (MonadTrans (lift))
710710-- 'fromZipAsync' type combinator can be used to switch to parallel applicative
711711-- zip composition:
712712--
713−-- >>> d n = getCrossStream (CrossStream (delay n) >> return n)
713+-- >>> d n = unCrossStream (CrossStream (delay n) >> return n)
714714-- >>> s1 = Stream.fromSerial $ d 2 <> d 4
715715-- >>> s2 = Stream.fromSerial $ d 3 <> d 1
716716-- >>> (Stream.toList $ Stream.fromZipAsync $ (,) <$> s1 <*> s2) >>= print
@@ -746,7 +746,7 @@ import Control.Monad.Trans.Class (MonadTrans (lift))
746746-- main = do
747747-- z <- Stream.toList
748748-- $ Stream.fromSerial -- Serial monadic processing (sqrt below)
749−-- $ getCrossStream $ do
749+-- $ unCrossStream $ do
750750-- -- Concurrent @"for"@ loop
751751-- x2 <- CrossStream (Stream.concatForFoldableWith Stream.async [1..100] $
752752-- \x -> Stream.fromPure $ x * x) -- body of the loop
docs/User/Tutorials/Tutorial.hs+5−5
@@ -355,7 +355,7 @@ import Control.Monad.Trans.Class (MonadTrans (lift))
355355-- instead.
356356--
357357-- >>> :{
358−-- Stream.drain $ getCrossStream $ do
358+-- Stream.drain $ unCrossStream $ do
359359-- x <- CrossStream (Stream.fromFoldable [3,2,1])
360360-- CrossStream (Stream.fromEffect $ print x)
361361-- :}
@@ -373,7 +373,7 @@ import Control.Monad.Trans.Class (MonadTrans (lift))
373373--
374374-- >>> :{
375375-- main =
376−-- Stream.drain $ getCrossStream $ do
376+-- Stream.drain $ unCrossStream $ do
377377-- x <- CrossStream (Stream.repeatM getLine)
378378-- CrossStream (Stream.fromEffect $ putStrLn x)
379379-- :}
@@ -382,7 +382,7 @@ import Control.Monad.Trans.Class (MonadTrans (lift))
382382-- manner:
383383--
384384-- >>> :{
385−-- Stream.drain $ getCrossStream $ do
385+-- Stream.drain $ unCrossStream $ do
386386-- x <- CrossStream (Stream.fromFoldable [1,2])
387387-- y <- CrossStream (Stream.fromFoldable [3,4])
388388-- CrossStream (Stream.fromEffect $ print (x, y))
@@ -429,7 +429,7 @@ import Control.Monad.Trans.Class (MonadTrans (lift))
429429--
430430-- >>> :{
431431-- composed :: Stream IO ()
432−-- composed = getCrossStream $ do
432+-- composed = unCrossStream $ do
433433-- sz <- CrossStream sizes
434434-- cl <- CrossStream colors
435435-- sh <- CrossStream shapes
@@ -466,7 +466,7 @@ import Control.Monad.Trans.Class (MonadTrans (lift))
466466-- >>> s1 = p 1 <> p 2
467467-- >>> s2 = p 3 <> p 4
468468--
469−-- >>> (Stream.toList $ getCrossStream $ (,) <$> CrossStream s1 <*> CrossStream s2) >>= print
469+-- >>> (Stream.toList $ unCrossStream $ (,) <$> CrossStream s1 <*> CrossStream s2) >>= print
470470-- 1
471471-- 3
472472-- 4