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 | smolts: a pedagogical IDE for a teaching language Fri Tony Garnock-Jones #teaching #typescript #svelte #releases #tech #web Screenshot of smolts showing object1.smol. Click to embiggen. https://smol.leastfixedpoint.com/ try it out at https://smol.leastfixedpoint.com/ The idea was to use it in teaching Programming Languages. I haven’t (yet) actually used it for |
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. |