This work is joint with Gavin Gray (https://gavinleroy.com/) and Shriram Krishnamurthi (@shriramk).
Cognitive engineer, incoming assistant professor at Brown.
This work is joint with Gavin Gray (https://gavinleroy.com/) and Shriram Krishnamurthi (@shriramk).
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.
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:
https://cel.cs.brown.edu/blog/an-interactive-debugger-for-rust-trait-errors
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!
This week, the NSF Director became complicit in the administration’s efforts to undermine American science. https://bit.ly/nsfresign
@jedbrown You're an expert tokenizer!
@qualmist Whoops fixed thanks!
Here's a few of the ideas I bounced around (top-left is the control):
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: https://twitter.com/tonofcrates/status/1636169920009621504
A few handy things I learned from The Elements of Typographic Style. Wrote last year but forgot to share:
@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.
@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.
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.
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?
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.
@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: https://blog.sigplan.org/2019/10/17/what-type-soundness-theorem-do-you-really-want-to-prove/
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
@chrisamaphone @yaxu Portable EPUBs are also designed to address this: https://willcrichton.net/notes/portable-epubs/
Show some love to the PL educators in your life! Nominate a SIGPLAN Distinguished Educator today: https://awards.sigplan.org/nominate/educator_award/