scanl -base +containers

scanl :: (a -> b -> a) -> a -> Seq b -> Seq a
containers Data.Sequence
scanl is similar to foldl, but returns a sequence of reduced values from the left: > scanl f z (fromList [x1, x2, ...]) = fromList [z, z `f` x1, (z `f` x1) `f` x2, ...]
scanl1 :: (a -> a -> a) -> Seq a -> Seq a
containers Data.Sequence
scanl1 is a variant of scanl that has no starting value argument: > scanl1 f (fromList [x1, x2, ...]) = fromList [x1, x1 `f` x2, ...]