on master help sign in
Use K.concatEffect
c17c0d8Harendra Kumar
core/src/Streamly/Internal/Data/Stream/Bottom.hs+4−2
@@ -590,11 +590,13 @@ concatMap f m = fromStreamD $ D.concatMap (toStreamD . f) (toStreamD m)
590--
590--
591-- See also: 'concat', 'sequence'
591-- See also: 'concat', 'sequence'
592--
592--
593−-- /Internal/
593+-- /Inhibits stream fusion/
594--
594--
595{-# INLINE concatEffect #-}
595{-# INLINE concatEffect #-}
596concatEffect :: Monad m => m (Stream m a) -> Stream m a
596concatEffect :: Monad m => m (Stream m a) -> Stream m a
597−concatEffect generator = concatMapM (\() -> generator) (fromPure ())
597+-- concatEffect generator = concatMapM (\() -> generator) (fromPure ())
598+concatEffect generator =
599+ fromStreamK $ K.concatEffect $ fmap toStreamK generator
598
600
599-- XXX Need a more intuitive name, and need to reconcile the names
601-- XXX Need a more intuitive name, and need to reconcile the names
600-- foldMany/fold/parse/parseMany/parseManyPost etc.
602-- foldMany/fold/parse/parseMany/parseManyPost etc.
core/src/Streamly/Internal/Data/Stream/StreamK.hs+1
@@ -159,6 +159,7 @@ module Streamly.Internal.Data.Stream.StreamK
159
159
160 , concatMapWith
160 , concatMapWith
161 , concatMap
161 , concatMap
162+ , concatEffect
162 , bindWith
163 , bindWith
163 , concatPairsWith
164 , concatPairsWith
164
165