on master help sign in
change fromListM to fromFoldable, add a rewrite rule for serial streams
6e51373Anurag Hooda
src/Streamly/Internal/Data/Stream/IsStream/Generate.hs+6−1
@@ -506,10 +506,15 @@ fromFoldableM = Prelude.foldr consM K.nil
506-- @since 0.4.0
506-- @since 0.4.0
507{-# INLINE_EARLY fromListM #-}
507{-# INLINE_EARLY fromListM #-}
508fromListM :: (MonadAsync m, IsStream t) => [m a] -> t m a
508fromListM :: (MonadAsync m, IsStream t) => [m a] -> t m a
509−fromListM = fromStreamD . D.fromListM
509+fromListM = fromFoldableM
510{-# RULES "fromListM fallback to StreamK" [1]
510{-# RULES "fromListM fallback to StreamK" [1]
511 forall a. D.toStreamK (D.fromListM a) = fromFoldableM a #-}
511 forall a. D.toStreamK (D.fromListM a) = fromFoldableM a #-}
512
512
513+{-# RULES "fromListM serial" fromListM = fromListMSerial #-}
514+{-# INLINE_EARLY fromListMSerial #-}
515+fromListMSerial :: MonadAsync m => [m a] -> SerialT m a
516+fromListMSerial = fromStreamD . D.fromListM
517+
513-- | Same as 'fromFoldable'.
518-- | Same as 'fromFoldable'.
514--
519--
515-- @since 0.1.0
520-- @since 0.1.0