There is similar method in scalaz: unfold
.
You could implement your method using unfold
this way:
def partialReduceLeft[T](elements: List[T],
nextReduction: List[T] => (T, List[T])): Stream[T] =
unfold(elements){ es => es.nonEmpty option nextReduction(es) }