- Author
- Gavin Gray, Cognitive Engineering Lab
- Published
- 8 September 2026
- Kind
- Research group blog post summarizing a paper
- Original
- cel.cs.brown.edu/blog/design-space-async-await/
- Subject
- Programming languages and types
What it is
Gavin Gray posts for the Cognitive Engineering Lab. The post introduces a paper on straight-line asynchrony, meaning async/await code. It asks how similar async/await really is between languages.
What it says
- The post shows a short program whose output differs across seven async runtimes.
- The runtimes give four different outputs, and no two match on three variations.
- The paper finds nine design dimensions, grouped by task lifetime.
- Eagerness is one dimension: hot calls run at once, cold calls wait to be awaited.
- Swift prints AC and Trio prints ABC, because they differ in how tasks are destroyed.
- The authors give a formal semantics that explains divergences by tracing execution.
What evidence it gives
The post reports the output of one pseudocode program on seven runtimes. It tabulates nine design dimensions by language. It shows a trace figure from the formal model. Full results sit in the paper.
Interests and limits
The authors wrote both the post and the paper. The output table and figure were missing, and the paper was not read. Only one small program is shown in the post. The post does not say how the runtimes were run.