arrow-fx-coroutines / arrow.fx.coroutines.stream / scanMap

scanMap

fun <O, O2> Stream<O>.scanMap(MO2: Monoid<O2>, f: (O) -> O2): Stream<O2>

Alias for map(f).scanMonoid.

import arrow.fx.coroutines.stream.*
import arrow.core.extensions.monoid

//sampleStart
suspend fun main(): Unit =
  Stream("a", "aa", "aaa", "aaaa")
    .scanMap(Int.monoid()) { it.length }
    .toList()
    .let(::println) //[0, 1, 3, 6, 10]
//sampleEnd

Do you like Arrow?

Arrow Org
<