我花了很多时间寻找一种可以无缝访问 Java 遗留代码(Weka 代码)的函数式语言。导入的 Java 类方法的自动完成将非常好。我将介绍我的印象,如果我错了,请纠正我。
Yeti对我很有吸引力,因为它简单且类似于 ML,但我无法为它设置一个好的 IDE。我也不知道语言本身是否已经可以在现实生活中使用。
Groovy、JRuby和Jython看起来非常成熟,但并不是真正的功能。 Scala是成熟的,但也是面向对象的,至少在 Netbeans(如果我没记错的话,还有 Eclipse)上它是错误的。
“ OCaML-Java ”也是面向对象的,还没有准备好使用(3 或 4 个单独的项目)。我想在 IDE 中它甚至更难以使用。
贾斯凯尔似乎已经死了。
Clojure看起来很成熟,并且在 Intellij IDEA(La Clojure 插件)中运行良好,但我不确定我是否想在编码时每行编写超过 2 个括号。
SISC和ABCL我没试过。我认为没有IDE支持。
CAL(或 Quark ... Blah ...)语言通向一个 SAP 站点,之后我对功能性 JVM 语言的耐心搜索结束了。
有类似的问题,但并不全面。例如: 哪种函数式编程语言在 Eclipse 中提供最好的支持?
是否缺少一些能够直接调用 java 类的 JVM 功能语言?如果Yeti像Clojure (在 IDEA 中)那样支持 IDE ,那对我来说将是完美的。
谢谢
编辑 - - - - - - - - - - - - - - - - - -
我可以在 Intellij IDEA 中使用 Clojure+Scala。互操作性示例:
斯卡拉代码
package a
class ScalaMain {
def test = {
"testing!"
}
}
Clojure 代码
(import '(a ScalaMain)) ;'
(def scalainstance (new ScalaMain))
(print "printing: " (. scalainstance test))
壮观!