gg2
brown.edu

Design Space Exploration of Async/Await

Archived — this story has rotated out of today’s deck. It is kept here in full.

The gist

A Brown lab paper maps async/await across languages into nine design dimensions.
It explains why the same keywords behave differently in Swift and Python.

Background

Async/await is a programming style meant to make concurrent code look like ordinary straight-line code, as seen in Python, Rust, or Swift. The Cognitive Engineering Lab paper argues that implementations differ in observable semantics, not just performance, and identifies nine such design dimensions. It develops a formal semantics on a core calculus to trace why execution outcomes differ between languages.

How it unfolded

  1. Sep 8, 2026Gavin Gray publishes "A Design Space Exploration of Async/Await" on the Cognitive Engineering Lab blog.
  2. Sep 9, 2026The paper is posted to Reddit r/rust and submitted to Hacker News; Shriram Krishnamurthi shares it on X.
  3. Sep 10, 2026daily.dev posts on the paper; Jesse Warden comments on LinkedIn that he only got JavaScript right.
  4. Sep 11, 2026Dominik Tornow highlights on X that the model was differential-fuzzed against all seven runtimes; a second Hacker News submission appears.

Who’s saying what

Author
Gavin Gray says the design rationale for async/await is consistent — making concurrent programs look like straight-line code — and that the paper identifies nine design dimensions from modern implementations.
Analysts
Dominik Tornow says the paper formalizes async/await across languages and highlights that the model was differential-fuzzed against all seven runtimes.
Public
Jesse Warden says he got only JavaScript right and thought he had the Python one right, but apparently not.

Still unverified

Jesse Warden states he "could have sworn I got the Python one right, but apparently not" — a personal claim, not independently confirmed.

Sources

See today’s stories in the app gg2 — free on the App Store