Smolts:一款用于教学语言的教学集成开发环境
Smolts: A pedagogical IDE for a teaching language

原始链接: https://eighty-twenty.org/2026/09/04/smolts

两年前,作者为 SMoL(“语言标准模型”)开发了一款集成开发环境(IDE)。SMoL 是一种基于 Shriram Krishnamurthi 及其同事研究成果的教学语言。该工具基于浏览器,专为编程语言教育设计,允许用户编写基于 S-表达式的代码并逐步执行。 主要功能包括: * **可视化:** 显示当前的延续(continuation)、环境和存储(store)。 * **编辑器内标注:** 直接在文本编辑器中显示变量和表达式的值。 * **导航:** 支持向后单步执行和“运行至光标处”功能。 * **实验性功能:** 包含一个独特的、尽管有些“蹩脚”的基于 git 的项目管理系统。 虽然该项目尚在开发中,且存在一些已知的 Svelte 状态管理错误,但它为探索代码在底层如何执行提供了一个实用的环境。作者积极欢迎社区反馈、错误报告和贡献。你可以通过 [smol.leastfixedpoint.com](https://smol.leastfixedpoint.com/) 体验该工具。

Hacker News 最新 | 往日 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 Smolts:一款用于教学语言的教学型 IDE (eighty-twenty.org) 10 点,由 tonyg 发布于 1 小时前 | 隐藏 | 往日 | 收藏 | 讨论 | 帮助 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系 搜索:
相关文章

原文

Screenshot of smolts showing object1.smol
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.

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.

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.

联系我们 contact @ memedata.com