
Lisp 是至今仍在广泛使用的最古老的编程语言之一,并且是 20 世纪 50 和 60 年代第一波人工智能研究浪潮中不可或缺的一部分。Lisp 常常成为那些能够在低功耗系统上运行的解释器的焦点。[Robert van Engelen] 的TinyLisp就是一个例子,它仅需 99 行 C 代码,就能在基于 Z80 的夏普PC-G850V(S)袖珍电脑(配备 2.3 KB 内存和原生 C 语言支持)上流畅运行。
关于 TinyLisp 的实现方式以及如何自行编写的完整细节,请参阅 GitHub 项目中的详细文章。它支持静态作用域、双精度浮点,并具有 21 个 Lisp 原语以及一个垃圾收集器。它提供了两个适用于 Sharp PC-G850 的版本(使用 BCD(即 NaN)装箱),以及一些使用双精度或单精度浮点类型的通用实现。阅读时,最好将一个注释丰富的版本与文章一起保存。
TinyLisp,顾名思义,非常小巧,因此功能更齐全的 Lisp 实现随处可见。其中包括两个版本(链接见 Readme 文件底部),同样由 [Robert] 开发,使用了多达 1,000 行 C 语言代码,提供了更高级的垃圾收集器和数十个 Lisp 原语来处理异常、文件加载、字符串和调试功能等。
原文: https://hackaday.com/2025/08/19/lisp-in-99-lines-of-c-with-tinylisp/