smolts: a pedagogical IDE for a teaching language
Fri 4 Sep 2026 08:37 CEST

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.
