5

所以基本上我不是在这里比较 Scheme 和 Clojure,我想比较实现。有:

Clojure-clr 甚至可以使用 Visual Studio 扩展来安装,但是以这种方式使用它对我来说仍然有点麻烦。创建并保存此类项目后,您将无法再次打开它...

还有 IronScheme,据我所知,还没有 IronScheme 的 VS 插件,但也许它得到了更好的 .NET 支持,我从未使用过它,也不知道它。

那么这两个(或者甚至还有其他类似 lisp 语法的东西)中的哪一个获得了更好的 CLR 支持?

4

2 回答 2

3

我已经在评论中回答了关于 VS 的问题。

在 .NET 互操作性方面,IronScheme 可能更好,因为它是用 .NET 设计和编写的,并且可以自由地重用现有的 .NET 类型。

作为 .NET 消费者,IronScheme 为大多数 .NET 功能(例如泛型等)提供了出色的支持。

作为 .NET 生产者,IronScheme 还差一点。例如,不能创建泛型方法或类。类型化字段(记录上)是最近才引入的,即使这样也有点限制(不支持相互递归的字段类型定义)。

例如上面的意思是什么:

class Foo { Bar bar; } 
class Bar { Foo foo; }

生产这样的东西,目前是不可能的,但是(在某种程度上)是可行的。

随着去年底(2011 年)的一些发展,我已经可以在 IronScheme 中编写与 C# 一样快(甚至更快)的代码。代码的方法 IL 输出与 F# 非常匹配(纯属巧合)。我什至不再为 IronPython/IronRuby 做替补。:)

如果需要,请随时询问更多。

此外,在 IronScheme 的 Codeplex 讨论板上可能会有一些信息丰富的讨论。我通常反应很快。

于 2012-02-03T05:30:45.253 回答
1

最近在VsClojure上有很多活动,应该很快就会有一个更新来解决你遇到的很多问题。此外,关于您在打开项目时遇到的具体问题,如果您启动 Visual Studio ,然后打开解决方案/项目,它应该可以工作。它只是在外壳上不起作用。以下是一些可以帮助您入门的博客:

http://clojureclr.blogspot.com/
http://www.myclojureadventure.com/
http://clrviaclojure.blogspot.com/

于 2012-02-02T14:16:18.883 回答