KS
Size: a a a
KS
DS
Oℕ
DS
DS
DS
K
DS
K
K
DS
AS
AS
AS
SA
suspend fun <A> race(a: suspend () -> A, b: suspend () -> A): A = coroutineScope {
val da = async { a() }
val db = async { b() }
select {
da.onAwait {
db.cancel("race")
it
}
db.onAwait {
da.cancel("race")
it
}
}
}
EK
SA
λ
(
GP