Overview
Syllabus
Intro
Async the Kotlin way (prototype)
Suspending functions: use
Suspending functions: declare (prototype)
Suspending functions: implement (prototype)
A problematic example
stack unwind convention
A solution (0)
Call/declaration fidelity
A solution (1)
Tail suspension
A solution (2)
Abstraction
A solution (4)
Recap steps to solution
The final touch: await extension
Coroutine builders (prototype)
Arbitrary suspending calls
Stackless vs Stackful coroutines
The problem with async
Composability: evolved
asyncul (prototype)
The actual Continuation interface
Thread confinement vs coroutines
Stack traces in exceptions
Library evolution: already there
Library evolution: WIP
A closing note on terminology
Experimental status of coroutines
Taught by
Java