首页 > 解决方案 > 为什么没有用 Common Lisp 编写的 Common Lisp 实现?

问题描述

最近开始学习 cuis-smalltalk,没有意识到 Smalltalk 的 OOP 与 CLOS 相比有多么深奥(我使用的是 Ruby)。我了解到 Smalltalk 是一个自身实现的反射系统的好主意。我发现 Ruby 有Rubinius,但是当我寻找用 Lisp 编写的Common Lisp实现时,我找不到类似的东西。似乎没有用 CL 编写的 CL 发行版。

在带有 CLOS 和 slime 的 Common Lisp 中,您可以做所有可以用 Smalltalk 开发环境做的事情。

但是我有一个问题,如果 Common Lisp 实现本身对 Common Lisp 有用吗?或者不会为语言添加任何特殊内容,因为同音性、宏和 MOP 可以处理所有这些。是否存在无法完成的技术限制?

标签: common-lispsmalltalk

解决方案


示例:SBCL

大多数情况下,只有大部分运行时是用 C 实现的。

示例:Clozure Common Lisp

内核是用汇编语言和 C 语言编写的。

示例:夹层

Mezzano是一个完全用自己的 Common Lisp 编写的操作系统。它在金属上运行-> 意味着可以将其作为操作系统启动。

Smalltalks 都不是完全用 Smalltalk 编写的,Rubinius 也不是完全用 Ruby 编写的

这与诸如 Squeak 或 Pharo 之类的 Smalltalk 实现没有什么不同,其中大部分部分是用 Smalltalk 编写的,虚拟机的某些部分是从 Smalltalk 生成的,而虚拟机的某些部分是用 C 编写的。

Rubinius 的部分内容是用 C++ 编写的。


推荐阅读