维基百科上提到IronScheme是失败项目IronLisp的继承者,该项目将Lisp引入CLR和.NET,就像Clojure为JVM所做的那样。有人有使用这种语言的经验吗?它看起来相当完整(99%),但是我不确定如何判断是否值得花时间摆弄它。稳定或完整,我的意思是将其用于实际项目,而不仅仅是摆弄工具和Project Euler风格问题。
维基百科上提到IronScheme是失败项目IronLisp的继承者,该项目将Lisp引入CLR和.NET,就像Clojure为JVM所做的那样。有人有使用这种语言的经验吗?它看起来相当完整(99%),但是我不确定如何判断是否值得花时间摆弄它。稳定或完整,我的意思是将其用于实际项目,而不仅仅是摆弄工具和Project Euler风格问题。
Answers:
我是IronScheme的作者。我不太确定如何回答您的问题,但会尝试:)
IronScheme首先尝试实施Scheme(特别是R6RS),其次要目标是CLR互操作性。
与Clojure相比(专注于其缺点),IronScheme不会:
不幸的是Clojure获胜的地方是:
对于IronScheme来说,这令人担忧,因为提到的最后3种情况非常像鸡鸡蛋。就个人而言,我倾向于只在需要时创建库,并且在用户社区很小的情况下,除了错误报告之外,用户的贡献并不多。我希望有一个更大的用户社区。
至于支持,我通常会尽快为用户提供帮助。从IronScheme讨论板上的响应时间可以看出这一证据。另外,通常在发现错误后就立即对其进行修复。
至于稳定性,代码库已经相当成熟,并且只有错误修复和优化才是唯一的添加代码。
关于可用性,如果您熟悉.NET框架,则可以像使用其他任何.NET语言一样,使用IronScheme进行几乎所有操作。可能会更难或更容易,具体取决于您愿意将多少抽象成更多类似于Scheme的习惯用法。用IronScheme编写事情很容易;例如,由于使用了ASP.NET,我的整个MVC框架几乎只有400行Scheme代码(我当然不喜欢重新发明轮子)。
如果答案不够,请随时澄清。Demian确实在可维护性方面也有优点。
问候
嬉皮士
注意:我没有IronScheme的经验,因此请多加些盐(尽管它的主要目的是使用前沿技术)。
尽管我会用一些新技术解决一些小问题(例如个人工具,Euler项目等),但我非常警惕在全面的项目中采用上述技术。为什么?
因此,虽然学习新技术总是一件好事(可能发生的最糟糕的事情是,您学习其他人将如何实施某些事情,这是一件好事),但是,如果您尽早采用新技术来进行完整的项目,这确实会给您带来麻烦。 。