Go to content

Coroutines Beyond Concurrency by Alex Semin

Recording brought to you by American Express. https://americanexpress.io/kotlin-jobs Kotlin coroutines are most known as an elegant and modern solution for managing asynchronous work. But due to their versatile design, coroutines can also be helpful for tasks outside of concurrency. We will deep dive into the implementation of coroutines in Kotlin and learn why their asynchronous execution is not a language feature. Sequence builders and deeply recursive functions from the standard library are prime examples of synchronous coroutines. You will learn how they work and strengthen your understanding of coroutine machinery. We will look at the parser combinator library Parsus. It uses coroutines to make parsers debuggable without code generation and process data of arbitrary depth without stack overflow errors. You will learn how to build libraries using similar techniques and how to avoid various pitfalls when working with low-level coroutines APIs. Talk by: Alex Semin #coroutines #KotlinConf

April 12, 2023