@@ -876,6 +876,10 @@ scanl1' n = composeN n $ S.scanl1' (+)
876scanl1M' :: MonadIO m => Int -> SerialT m Int -> m ()
876scanl1M' :: MonadIO m => Int -> SerialT m Int -> m ()
877scanl1M' n = composeN n $ S.scanl1M' (\b a -> return $ b + a)
877scanl1M' n = composeN n $ S.scanl1M' (\b a -> return $ b + a)
880+scan :: MonadIO m => Int -> SerialT m Int -> m ()
881+scan n = composeN n $ S.scan FL.sum
879{-# INLINE postscanl' #-}
883{-# INLINE postscanl' #-}
880postscanl' :: MonadIO m => Int -> SerialT m Int -> m ()
884postscanl' :: MonadIO m => Int -> SerialT m Int -> m ()
881postscanl' n = composeN n $ S.postscanl' (+) 0
885postscanl' n = composeN n $ S.postscanl' (+) 0
@@ -884,6 +888,10 @@ postscanl' n = composeN n $ S.postscanl' (+) 0
884postscanlM' :: MonadIO m => Int -> SerialT m Int -> m ()
888postscanlM' :: MonadIO m => Int -> SerialT m Int -> m ()
885postscanlM' n = composeN n $ S.postscanlM' (\b a -> return $ b + a) (return 0)
889postscanlM' n = composeN n $ S.postscanlM' (\b a -> return $ b + a) (return 0)
891+{-# INLINE postscan #-}
892+postscan :: MonadIO m => Int -> SerialT m Int -> m ()
893+postscan n = composeN n $ S.postscan FL.sum
887{-# INLINE sequence #-}
895{-# INLINE sequence #-}
888sequence ::
896sequence ::
889 (S.IsStream t, S.MonadAsync m)
897 (S.IsStream t, S.MonadAsync m)
@@ -965,6 +973,8 @@ o_1_space_mapping value =
965 , benchIOSink value "postscanl'" (postscanl' 1)
973 , benchIOSink value "postscanl'" (postscanl' 1)
966 , benchIOSink value "postscanlM'" (postscanlM' 1)
974 , benchIOSink value "postscanlM'" (postscanlM' 1)
976+ , benchIOSink value "scan" (scan 1)
977+ , benchIOSink value "postscan" (postscan 1)