4 papers
A Design Space Exploration of Async/Await
Gavin Gray, Shriram Krishnamurthi, Will Crichton
Many modern programming languages include some form of asynchronous programming. In particular, a growing number now have what we call straight-line asynchrony: attempts to provide…
Explorable Theorems: Making Written Theorems Explorable by Grounding Them in Formal Representations
Hita Kambhamettu, Will Crichton, Sean Welleck +2
LLM-generated explanations can make technical content more accessible, but there is a ceiling on what they can support interactively. Because LLM outputs are static text, they cann…
When Are Reactive Notebooks Not Reactive?
Megan Zheng, Will Crichton, Akshay Narayan +2
Computational notebooks are convenient for programmers, but can easily become confusing and inconsistent due to the ability to incrementally edit a program that is running. Recent…
An Interactive Debugger for Rust Trait Errors
Gavin Gray, Will Crichton, Shriram Krishnamurthi
Compiler diagnostics for type inference failures are notoriously bad, and type classes only make the problem worse. By introducing a complex search process during inference, type c…