World Congress 2023 Sep 27, 2023

Coroutine explained yet again 60 years later

Mikhail Maslo

Why is a 60-year-old compiler concept driving modern concurrency? Discover how stackless coroutines transform messy callbacks into clean, highly scalable async flows.

Pause
Mute Enter Fullscreen
#1 about 2 min

Introduction to coroutines and their historical origins

Melvin Conway's initial work on co-compilers demonstrates how historical computing solutions established foundations for modern coroutines.

#2 about 3 min

Execution flow and suspending states in coroutines

Comparing regular functions to suspendable routines reveals how saving internal states enables advanced execution flows.

#3 about 5 min

Under the hood of coroutines with state machines

Translating complex coroutine execution into underlying compiler state machines provides a reliable mechanism for managing resumption.

#4 about 5 min

Differences between stackful and stackless coroutine classifications

Comparing stack reliance shows that stackful routines permit deep suspensions while stackless models minimize memory overhead.

#5 about 6 min

Symmetric versus asymmetric control transfers in coroutines

Analyzing yield behaviors illustrates how asymmetric models simplify caller relationships compared to arbitrary symmetric control transfers.

#6 about 2 min

Performance and memory tradeoffs among coroutine classifications

Evaluating varied coroutine structures guides developers in balancing execution speed with strict memory footprint constraints.

#7 about 6 min

Positioning coroutines within hardware and software thread hierarchies

Positioning routines against kernel resources clarifies how cooperative user-level threads avoid intensive operating system scheduling overhead.

#8 about 5 min

Implementing cooperative multitasking in modern programming languages

Applying asynchronous markers to heavy concurrency workloads replaces nested callback structures with linear readable code sequences.

#9 about 2 min

Audience questions on language support for async programming

Addressing language disparities emphasizes how coroutine support fundamentally accelerates modern asynchronous development workflows.

Matching moments

3:26 min

Simplifying asynchronous concurrency patterns safely with coroutines logic

Urs Peter · World Congress 2022

2:09 min

Compiler state machines and asynchronous concurrent task execution

Grzegorz Lang · World Congress 2022

3:29 min

Handling asynchronous operations with native Kotlin coroutines

Georg Dresler Georg Dresler · World Congress 2026 Europe

4:35 min

Orchestrating concurrent routines with channels and goroutines

Frank Müller · World Congress 2021

2:28 min

Adding strong type checking and generic programming concepts

Bjarne Stroustrup · World Congress 2022

1:11 min

Origins of Project Loom and lightweight threading semantics

Ivan Šarić Ivan Šarić · Europe 2026 Virtual

Upcoming sessions on this topic

Open session

World Congress 2026 North America

September 24, 2026 · 16:10–16:40

Outdoor Stage

When Humans Stop Writing Code: Rethinking Languages, Compilers, and Responsibility

Simon Auer

Organizer of flutter vienna meetup and CEO of marqably

Simon Auer
Open session

World Congress 2026 North America

September 25, 2026 · 15:30–15:40

Outdoor Stage

Offloading IoT State: Solving the Memory Crisis on Legacy Hardware

Pravin Nagare

Senior Software Engineer, Roku

Pravin Nagare
Open session

World Congress 2026 North America

September 25, 2026 · 16:50–17:20

Stage 1

Honey, look! I vibe-coded an OS!

Ian Smith

CTO, LYOS

Ian Smith
Open session

World Congress 2026 North America

September 25, 2026 · 11:40–12:10

Stage 1

Context Engineering: How machines remember and forget

Emre Okcular

Solutions Architect at OpenAI

Emre Okcular
Open session

World Congress 2026 North America

September 23, 2026 · 13:00–13:30

Stage 2

Parallelize Your Development with GitHub Copilot

Pamela Fox

Principal Cloud Advocate, Microsoft

Pamela Fox
Open session

World Congress 2026 North America

September 24, 2026 · 16:50–17:20

Stage 5

Context Engineering Kung Fu

Carl Lapierre

Tech Lead and AI Engineer at Osedea

Carl Lapierre