Same async program, four different outputs: paper maps the async/await design space across 7 runtimes

IanArawjo · x · 2026-09-10

Brown University's Cognitive Engineering Lab published "A Design Space Exploration of Async/Await" with an interactive blog post. While languages adopt async/await with a consistent goal — making concurrent code look straight-line — the actual semantics diverge far more than expected.

A minimal fire-and-forget program (spawn a background log writer, sleep, then print "C") produces 4 different outputs across 7 modern async runtimes; across 3 variations of the program, no two runtimes agree on all outputs.

The paper traces the root causes, covering dimensions like cold vs. hot async functions, and clarifies what "structured concurrency" really means. Essential reading for developers who want to truly understand their language's async semantics.

Original post →

More from coding & agent

coding & agent channel →