Fork me on GitHub

Here’s a great video on Kotlin coroutines by the main developer:;t=2422s I find many similarities w/ core.async that helped me understand the motivation behind concurrency and how core.async works. Like core.async, most of Kotlin’s concurrency is implemented as a library (IIUC only coroutines require a change to the runtime), so many similar design decisions seem to have been made. This related video explicitly lays out how suspending a block creates a continuation of the remaining operations: IIUC core.async uses a state machine instead of CPS, but conceptually I found this very helpful.


Yep, the CPS method was considered, but it does have GC implications