Will Crichton

Cognitive engineer, incoming assistant professor at Brown.

Will Crichtontonofcrates
2025-05-06

This work is joint with Gavin Gray (gavinleroy.com/) and Shriram Krishnamurthi (@shriramk).

Will Crichtontonofcrates
2025-05-06

A core problem with diagnostics is that they have to reduce a ton of information into a CLI-friendly output. Many folks have worked on this problem by devising clever algorithms for picking the "right" info to show to users.

This work asks instead: what if we didn't have to reduce any information by using a GUI instead? We focused on designing a variety of interactions to empower users to iteratively explore whatever information is relevant to their debugging task.

Will Crichtontonofcrates
2025-05-06

If you've ever struggled with trait/typeclass compiler errors, or if you're interested in better user interfaces for compiler diagnostics, check out our upcoming PLDI paper: "An Interactive Debugger for Rust Trait Errors"

Rust famously has good error messages. But we found that with the right interface, people become ~3x faster at identifying the root cause of a trait error. See our blog post, including a live demo in your browser:

cel.cs.brown.edu/blog/an-inter

A screenshot of the Argus tool for visualizing trait inference. It shows a VSCode panel with a Bevy program on the left containing a type error related to the `SystemParam` trait, and an Argus visualization of that error on the right.
Will Crichtontonofcrates
2025-04-21
Will Crichtontonofcrates
2025-02-24

Honored to have our paper on the pedagogy of Rust ownership selected for the SIGPLAN Research Highlights. I'm so glad to have found a community of wonderful, supportive people who appreciate my idiosyncratic research ideas!

A screenshot of the citation for a SIGPLAN Research Highlights paper. It reads:

Selected February 2025

A Grounded Conceptual Model for Ownership Types in Rust

Authors: Will Crichton (Brown University), Gavin Gray (ETH Zurich), Shriram Krishnamurthi (Brown University)

Venue: OOPSLA 2023

Nomination Statement: Programmers learning Rust struggle to understand ownership types, Rust’s core mechanism for ensuring memory safety without garbage collection. This paper describes an attempt to systematically design a pedagogy for ownership types. The paper applies techniques from cognitive science to describing and teaching programming languages, focusing on one of the “hottest” languages to date: Rust. The work contains multiple aspects, such as analysing common misconceptions of the programmers, building the conceptual model of Rust ownership, designing a teaching methodology around it, and even evaluating it in a user study. Overall, the paper follows scientific principles and introduces the PL community to an original and effective way to study a language usability problem.
Will Crichton boosted:
2025-01-31

This week, the NSF Director became complicit in the administration’s efforts to undermine American science. bit.ly/nsfresign

Will Crichtontonofcrates
2025-01-27

@jedbrown You're an expert tokenizer!

Will Crichtontonofcrates
2025-01-26

@qualmist Whoops fixed thanks!

Will Crichtontonofcrates
2025-01-26

Here's a few of the ideas I bounced around (top-left is the control):

Will Crichtontonofcrates
2025-01-26

Btw one things CS academics need to Figure Out is a style guide for typesetting code, especially inline code. I had a fun thread on this a few years ago: twitter.com/tonofcrates/status

Will Crichtontonofcrates
2025-01-26

A few handy things I learned from The Elements of Typographic Style. Wrote last year but forgot to share:

willcrichton.net/notes/typogra

Will Crichtontonofcrates
2025-01-16

@monkey1 But the behavior of that interactive element has to be defined in Javascript. Pollen is not designed to compile arbitrary Racket into Javascript, to my knowledge. It's only designed to compile a document tree into HTML.

Will Crichtontonofcrates
2025-01-16

@monkey1 Yes, I think Pollen is great. The only reason it's not my bet for the future is it isn't designed for interactivity as much as static documents.

Will Crichtontonofcrates
2025-01-10

Abstract (2/2): What kinds of document formats would be most helpful to readers? And how should we design document languages to make such documents easy to write? I will present my tentative answers, namely enabling rich and interactive cross-references by making Markdown more programmable, extensible, and referential than it is today. The broader goal of this talk is to stimulate a discussion about the actual technologies we expect to be using to write papers and articles in ten years’ time.

Will Crichtontonofcrates
2025-01-10

Abstract (1/2): The format of the average technical document has not changed for centuries: plain words wrapping static figures. Advances in communication technology remain inaccessible to most authors, in part due to limitations of widely-used document languages like LaTeX and Markdown. In this talk, I will ask: what should we expect from the next generation of document languages?

Will Crichtontonofcrates
2025-01-10

I re-recorded a talk I gave at the Berkeley Programming Systems Seminar (Nov 2023) about some important problems and exciting directions in the development of document languages.

youtube.com/watch?v=tESqS6z6MdI

Will Crichtontonofcrates
2025-01-09

@dubroy @wasmgroundup The trick with this definition is whether "undefined operation" (i.e., UB) is expansive enough to describe all abstractions. In Rust, it's not UB to break encapsulation (e.g., read a private field via unsafe code). What you're talking about is more like semantic type soundness: blog.sigplan.org/2019/10/17/wh

Will Crichton boosted:
2025-01-08

people who work on types and formal methods have a long tradition of motivation through fear — “software can break catastrophically! our stuff will prevent the bad thing!”— and one of my life missions is to figure out how to motivate through love instead

Will Crichtontonofcrates
2025-01-08

@chrisamaphone @yaxu Portable EPUBs are also designed to address this: willcrichton.net/notes/portabl

Will Crichtontonofcrates
2024-12-12

Show some love to the PL educators in your life! Nominate a SIGPLAN Distinguished Educator today: awards.sigplan.org/nominate/ed

Client Info

Server: https://mastodon.social
Version: 2025.04
Repository: https://github.com/cyevgeniy/lmst