所以基本上我不是在这里比较Scheme和Clojure,我想比较一下实现。有:
Clojure-clr,即使使用Visual Studio扩展也可以安装,但我仍然有点用这种方式使用它。创建并保存此类项目后,无法再次打开它......
和IronScheme一样,据我所知,还没有针对IronScheme的VS插件,但也许它得到了更好的.NET支持,我从未使用它,也无法了解它。
那么这两个(或者甚至还有其他类似lisp的语法)得到了更好的CLR支持?
答案 0 :(得分: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讨论板进行一些内容丰富的讨论。我通常很快回应。
答案 1 :(得分:1)
VsClojure最近有很多活动,应该很快就会有更新,以解决您遇到的很多问题。此外,关于打开项目时遇到的特定问题,如果首先启动Visual Studio 然后打开解决方案/项目,它应该可以正常工作。它只是从shell无法运行。以下是一些可能有助于您入门的博客:
http://clojureclr.blogspot.com/
http://www.myclojureadventure.com/
http://clrviaclojure.blogspot.com/