gpt4 book ai didi

common-lisp - 为什么没有用 Common Lisp 编写的 Common Lisp 实现?

转载 作者:行者123 更新时间:2023-12-04 09:45:20 28 4
gpt4 key购买 nike

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

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

但是我有一个问题,Common Lisp 实现本身是否对 Common Lisp 有用?或者不会给语言添加任何特殊的东西,因为同象素、宏和 MOP 可以处理这一切。是否存在无法完成的技术限制?

最佳答案

示例:SBCL

  • Machine code compiler在 Lisp
  • CLOS在 Lisp
  • Interpreter在 Lisp
  • Implementation在 Lisp

  • 大多只有大部分 runtime在 C 中实现。

    示例:Clozure Common Lisp
  • Machine code compiler在 Lisp
  • Lisp 中的实现:level 0 , level 1 , lib , library

  • kernel是用汇编程序和 C 编写的。

    示例:Mezzano

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

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

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

    Parts of Rubinius是用 C++ 编写的。

    关于common-lisp - 为什么没有用 Common Lisp 编写的 Common Lisp 实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51787659/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com