activity
20232026
most citedA Grounded Conceptual Model for Ownership Types in Rust

22 citations · 30 across the 8 of their papers we have counts for

collaborators
Showing cs.PLShow all

7 papers · 1 filter

cs.PL2026

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…

cs.PL2025★ 1 cited

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…

cs.PL2024★ 3 cited

WatChat: Explaining perplexing programs by debugging mental models

Kartik Chandra, Katherine M. Collins, Will Crichton +6

Often, a good explanation for a program's unexpected behavior is a bug in the programmer's code. But sometimes, an even better explanation is a bug in the programmer's mental model…

cs.PL2024★ 1 cited

Profiling Programming Language Learning

Will Crichton, Shriram Krishnamurthi

This paper documents a year-long experiment to "profile" the process of learning a programming language: gathering data to understand what makes a language hard to learn, and using…

cs.PL2023★ 3 cited

A Core Calculus for Documents

Will Crichton, Shriram Krishnamurthi

Passive documents and active programs now widely comingle. Document languages include Turing-complete programming elements, and programming languages include sophisticated document…

cs.PL2023

Debugging Trait Errors as Logic Programs

Gavin Gray, Will Crichton

Rust uses traits to define units of shared behavior. Trait constraints build up an implicit set of first-order hereditary Harrop clauses which is executed by a powerful logic progr…