arrow-fx-coroutines / arrow.fx.coroutines.stream / 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?
✖