Lisp 由 99 行 C 语言编写,并介绍了如何自己编写一个 Lisp。包括 21 个 Lisp 基本函数、垃圾回收和 REPL。包括针对提高速度而优化的尾调用版本。
Lisp 由 99 行 C 语言编写,并介绍了如何自己编写一个 Lisp。包括 21 个 Lisp 基本函数、垃圾回收和 REPL。包括针对提高速度而优化的尾调用版本。
为了纪念 Church 和 McCarthy 的贡献,我写了这个项目以及随附的 文章,以展示任何人都可以在几行 C 代码中编写一个微型 Lisp 解释器,或者用任何“类似 C”的编程语言也可以做到这一点。 我尽可能地保留了 Lisp 的原始含义和风格。 因此,这个项目中的 C 代码以紧凑的形式呈现出强烈的 Lisp 特征。 尽管体积很小,这些 C 中的微型 Lisp 解释器包含 21 个内置 Lisp 原语、简单的垃圾回收和 REPL,这使它们比玩具示例更加实用。 如果需要,还可以通过添加几行 C 来轻松添加更多 Lisp 功能,如我在 文章 中解释的,其中包含可供您尝试的示例。
99 行的 Lisp 采用类似 Lisp 的结构化 C 编程风格,平均每行宽 55 列,最宽不超过 120 列,以便于编辑。 它支持静态作用域、双精度浮点数,具有 21 个内置 Lisp 原语、一个 REPL 和一个简单的垃圾回收器。 为了提高速度并减少内存使用,还包含了尾调用优化版本。
暂无开放 Issues,或尚未同步最近议题。