有没有比较成熟的针对.Net CLR的Lisp/Scheme/Clojure编译器?

20

我看到有几个变种,包括ClojureCLR、LSharp、IronScheme、IronLisp等。这些中有哪些是处于积极维护和/或接近“成熟”阶段的,或者它们大多数是实验或灰尘收集器? 如果有的话,哪一个被认为是编译为.Net dll并引用其他.Net dll的最成熟框架? 是否有任何一款可以像“创建Lisp项目”的功能那样与Visual Studio良好集成?


ClojureCLR,不是CloSureCLR。这里的“J”代表“Java”。请确认。 - ffriend
4个回答

14

IronLisp已经不再更新,被IronScheme取代,但IronScheme仍处于beta版。

L#和ClojureCLR类似,它们都遵循将现代Lisp引入CLR的想法(与IronScheme相反,后者尝试在新平台上实现R6RS标准)。ClojureCLR似乎比L#更受欢迎,Java的Clojure社区正在快速增长,因此您可以在.NET应用程序中使用其中许多库。

我知道对于ClojureCLR,有一个名为VS2010插件的工具可用。

我认为,ClojureCLR现在是最密集开发的,所以我会押注于它。但是,Clojure(因此包括ClojureCLR)仍然在发展变化,未来版本可能与当前状态大相径庭,这对于长期生产项目来说并不好。从这个角度来看,实现旧的验证R6RS的IronScheme更可取。我无法说太多关于L#,但我猜它介于ClojureCLR和IronScheme之间。

因此,最终决策取决于您的个人需求:稳定性、(潜在)项目规模以及语言特性——别忘了学习这三种语言的特点。


那么,IronScheme、L#、ClojureCLR或其他语言,哪个更成熟/活跃?也就是说,如果一个人喜欢括号和.Net,应该从哪里开始? - Dax Fohl

0

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

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

它是所有列出的中最功能丰富的,但它不断变化,仍处于测试阶段。


0
不要忘记Bigloo,这是一个著名的Scheme编译器,可以将其编译为C和Java虚拟机,并最近添加了一个实验性的.NET字节码编译器。

“Experimental”并不完全符合OP所要求的“成熟”,这是他明确要求的。 - Sasha Chedygov

0

如果你只需要从Lisp调用.NET,并且不需要创建DLL1RDNZL可能适合你。

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接