Tag: jvm languages

在Scala中def foo = {}和def foo()= {}有什么区别?

鉴于在Scala中定义一个函数的下列结构,你能解释一下这个区别是什么,它的含义是什么? def foo = {} 与 def foo() = {} 更新 感谢您的快速回复。 这些都很棒。 我唯一的问题是: 如果我省略括号,是否还有一种方法来传递函数呢? 这是我得到的repl: scala> def foo = {} foo: Unit scala> def baz() = {} baz: ()Unit scala> def test(arg: () => Unit) = { arg } test: (arg: () => Unit)() => Unit scala> test(foo) <console>:10: error: type mismatch; found : […]

Haskell在JVM上?

我想知道是否有某种方法可以使Haskell在JVM上运行(编译或解释)? 在Sourceforge上有JHaskell,但是这个似乎是空的和死的。 GHC使用LLVM作为编译器后端。 将LLVM编译成Java字节码是个好主意还是可能的? 或者也许使用不同的编译器后端?

创build一个JVM编程语言

我在C语言中创build了一个编译器(使用lex&bison),用于支持循环,函数内部函数声明,recursion调用等的dynamictypes编程语言。我还创build了一个运行由编译器创build的中间代码的虚拟机。 我现在想的不是编译到我自己的中间代码,而是编译成java字节码。 我看到关于创build一个JVM语言的问题已经被问到,但我没有find答案非常丰富。 所以这是我的问题: 我想为JVM创build一种语言,一定要阅读JVM规范书,你还可以build议哪些其他的书(当然除了Dragon Book)? 我主要关心如何创buildJVM语言的书籍或教程,而不是一般的编译器。 有许多Java库可以读取,写入和更改.class文件,如jclasslib , bcel , gnu字节码等。您会build议哪一个? 另外,你是否知道做相同工作的C库? 我正在考虑看看另一种针对JVM的语言,比如Clojure,Jython或者JRuby。 但是所有这些语言都是非常高级和复杂的(为它们创build一个编译器)。 我正在寻找一个更简单的(我不介意如果它是未知的或未使用的)编程语言,目标的JVM和它的编译器是开源的。 有任何想法吗?