News

smolts: A Pedagogical IDE That Makes Language Semantics Visible

smolts is a browser-based IDE for teaching programming languages, stepping through S-expression SMoL programs with live views of continuations, environments, and stores.

September 9, 2026· 2 min read
smolts: A Pedagogical IDE That Makes Language Semantics Visible

Two years in the making, smolts is a pedagogical IDE for a teaching language based on Shriram Krishnamurthi's SMoL (Standard Model of Languages) work from PLAI. It's inspired by Stacker, a similar tool from Kuang-Chen Lu and Krishnamurthi. The author built it for teaching but hasn't used it in a classroom yet—still, it's worth a look.

The IDE runs in the browser and lets you write programs in an S-expression dialect of SMoL, then step through execution. What sets it apart: it renders the current continuation, environment, and store as the program runs, and annotates the source directly in the editor to show variable and expression values. You can step backwards if you miss a detail, and there's a 'run to cursor' feature.

The author admits the implementation is janky and half-complete, with several Svelte state-management bugs. But the core idea—making language semantics tangible—is solid. There's also an in-browser git-based project management concept that's evocative, even if not fully realized.

For educators and PL enthusiasts, this is a hands-on way to show students what's really happening under the hood. The live continuation and environment views are the kind of thing that makes 'aha' moments happen. It's rough around the edges, but the potential is clear.

Try it at smol.leastfixedpoint.com or dig into the source.

The IDE shows you a rendering of the current continuation, environment, and store as the program executes—making the invisible machinery of language semantics visible.
Manul X Editorial