arrow-fx / arrow.fx.typeclasses / Concurrent / bindingConcurrent

bindingConcurrent

open fun <B> bindingConcurrent(c: suspend ConcurrentContinuation<F, *>.() -> B): Kind<F, B>

Entry point for monad bindings which enables for comprehensions. The underlying impl is based on coroutines. A coroutines is initiated and inside ConcurrentCancellableContinuation suspended yielding to Monad.flatMap. Once all the flatMap binds are completed the underlying monad is returned from the act of executing the coroutine

This one operates over Concurrent instances

This operation is cancellable by calling invoke on the Disposable return. If Disposable.invoke is called the binding result will become a lifted BindingCancellationException.

Do you like Arrow?

Arrow Org
<