LmCast :: Stay tuned in

Smolts: A pedagogical IDE for a teaching language

Recorded: Sept. 9, 2026, 1:09 p.m.

Original Summarized

smolts: a pedagogical IDE for a teaching language (eighty-twenty news)

eighty-twenty

about |
sitemap

smolts: a pedagogical IDE for a teaching language

Fri
4
Sep
2026
08:37 CEST

Tony Garnock-Jones

#teaching #typescript #svelte #releases #tech #web
permalink

Screenshot of smolts showing object1.smol. Click to embiggen.

https://smol.leastfixedpoint.com/
Two years ago, I built an IDE for a teaching language based on Shriram
Krishnamurthi et al.’s work on teaching SMoL, the “Standard
Model of Languages”, as part of PLAI. The project was directly
inspired by the marvellous work of Kuang-Chen Lu and Shriram
in developing Stacker.

try it out at https://smol.leastfixedpoint.com/
read the source code in git
look at a full-resolution version of the screenshot above
watch a short demo video, at the bottom of this post

The idea was to use it in teaching Programming Languages. I haven’t (yet) actually used it for
that, but I figure I may as well let people know it exists.
With it, you can write programs in an S-expression-based dialect of SMoL, if you see what I
mean, and step through them. The IDE shows you a rendering of the current continuation,
environment, and store as the program executes. It also annotates the program directly in the
text editor to show the values of variables and expressions.
You can step backwards, which is helpful if you were clicking too fast and missed a detail,
and you can also “run to cursor”.
I think there’s a lot of promise there that is not yet fully realised: the idea of in-browser
git-based project management is really cool, and while the implementation is janky and
half-complete at present, I think it’s fairly evocative of the idea. There are also still
several bugs to do with Svelte state-management.
Anyway, give it a try. Comments, remarks, pull requests welcome! You
can email me or tag me on
fedi.
Demo
This video was recorded in July 2024 and shows a slightly older version of the system, but the
core operation is the same as the current version.

Tony Garnock-Jones developed smolts as an Integrated Development Environment designed for teaching a programming language, drawing inspiration from the work related to the Standard Model of Languages (SMoL) by Shriram Krishnamurthi et al. from PLAI, as well as the development of Stacker by Kuang-Chen Lu and Shriram. The core objective of smolts is to provide an interactive environment where users can write programs in an S-expression-based dialect of SMoL and observe their execution flow in detail.

The pedagogical features of the IDE are centered on visualizing the execution. smolts displays a rendering of the current continuation, environment, and store as the program executes, offering a comprehensive view of the state changes during runtime. Furthermore, the IDE annotates the program directly within the text editor to display the computed values of variables and expressions, which aids in understanding the operational mechanics. To facilitate debugging and deep understanding, the system includes navigational controls such as the ability to step backwards, which is useful for reviewing details missed during rapid execution, and a feature to "run to cursor."

Beyond the direct execution visualization, the project incorporates concepts that hint at more advanced development paradigms. The author suggests that the implementation holds promise for ideas such as in-browser git-based project management, although the current realization of these concepts is described as somewhat janky and incomplete. Additionally, the system still contains outstanding issues related to Svelte state-management. In essence, smolts aims to bridge the gap between theoretical understanding of programming languages and practical implementation by offering a highly structured, observable mechanism for learning how programs operate.