【问题标题】:Are there any fairly mature Lisp/Scheme/Clojure compilers for .Net CLR?.Net CLR 是否有相当成熟的 Lisp/Scheme/Clojure 编译器?
【发布时间】:2011-05-25 12:25:50
【问题描述】:

我看到了几种变体; ClojureCLR、LSharp、IronScheme、IronLisp 等。这些是否积极维护和/或接近“成熟”,或者它们主要是实验或灰尘收集者?如果有的话,哪个会被认为是编译为 .Net dll 和引用其他 .Net dll 的最成熟的框架?是否可以与 Visual Studio 很好地集成,至少是“创建 Lisp 项目”功能?

【问题讨论】:

  • CloJureCLR,也不是 CloSureCLR。 J 用于 Java。请正确。

标签: .net clojure lisp clr scheme


【解决方案1】:

IronLisp 已死并被 IronScheme 取代,而 IronScheme 仍处于测试阶段。

L Sharp 和 ClojureCLR 是相似的,它们都遵循现代 Lisp 的 CLR 理念(与 IronScheme 不同,后者试图在新平台上实现 R6RS 标准)。 ClojureCLR 似乎比 L Sharp 更受欢迎,而且 Java 的 Clojure 社区发展迅速,因此您可以在 .NET 应用程序中使用它的许多库。

我知道对于 ClojureCLR,有一个 VS2010 plugin 可用。

我相信,ClojureCLR 现在是最密集开发的,所以我敢打赌。另一方面,Clojure(以及 ClojureCLR)仍然在变化,它的未来版本可能与当前状态有很大不同,这对于长期生产项目来说不是很好。从这一点来看,实施旧的验证 R6RS 的 IronScheme 更可取。我不能说很多 L#,但我猜它介于 ClojureCLR 和 IronScheme 之间。

因此,实际决定取决于您的个人需求:稳定性、(潜在)项目的规模,当然还有语言特性 - 不要忘记了解所有这三个方面的知识。

【讨论】:

  • 那么,IronScheme、L#、ClojureCLR 或其他,哪个更成熟和/或更活跃?即,如果一个人喜欢括号和 .Net,应该从哪里开始?
【解决方案2】:

有一个用于 .NET 的(非标准)Lisp 编译器,重点是 .NET 互操作性:

http://www.meta-alternative.net/mbase.html

它是所有列表中功能最丰富的,但它一直在变化,仍处于测试阶段。

【讨论】:

    【解决方案3】:

    不要忘记Bigloo,它是 C 和 Java VM 的著名 Scheme 编译器,最近添加了一个实验性的 .NET 字节码编译器。

    【讨论】:

    • “实验”并不完全符合 OP 特别要求的“成熟”。
    【解决方案4】:

    如果您只需要从 Lisp 调用 .NET,而无需创建 DLL1RDNZL 可能适合您。

    1我并不是说您不能使用 RDNZL 和您的 Lisp 实现来创建 DLL,我只是没有任何理由尝试这样做。

    【讨论】:

      猜你喜欢
      • 2011-04-20
      • 2016-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-18
      • 1970-01-01
      相关资源
      最近更新 更多