22 citations · 23 across the 3 of their papers we have counts for
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…
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…
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…
A Grounded Conceptual Model for Ownership Types in Rust
Will Crichton, Gavin Gray, Shriram Krishnamurthi
Programmers learning Rust struggle to understand ownership types, Rust's core mechanism for ensuring memory safety without garbage collection. This paper describes our attempt to s…