100得票9回答
如何开始创建一个JVM编程语言?

我使用Lex和Bison在C中创建了一个编译器,用于支持循环、函数声明内函数、递归调用等动态类型编程语言。我还创建了一个虚拟机来运行编译器生成的中间代码。 我正在考虑将其编译为Java字节码而不是我的自有中间代码。 我看到已经有人提问如何创建JVM语言,但我觉得答案不够详细。 所以这里是...

85得票4回答
JVM上的Haskell?

我想知道是否有一种方法可以使Haskell在JVM上运行(编译或解释)? 虽然Sourceforge上存在JHaskell,但这个项目似乎已经荒废了。 GHC使用LLVM作为编译器后端。将LLVM编译成Java字节码是一个好主意或可能吗?或者也许可以使用不同的编译器后端?

56得票4回答
在Scala中,def foo = {}和def foo() = {}有什么区别?

给出以下用于在Scala中定义函数的结构体,请解释它们之间的区别以及其影响是什么。def foo = {} 对比。def foo() = {} 更新 感谢快速回复,非常好的解答。对我来说仅剩的问题是: 如果我省略括号,是否仍有办法传递函数?这是我在repl中得到的结果:scala> ...

54得票4回答
没有JVM支持的JVM语言中,协程是如何实现的?

在阅读描述使用Java编程语言实现协程的方法的Loom提案后,我产生了这个问题。 具体来说,该提案表示为了在语言中实现该功能,需要额外的JVM支持。 据我所知,已经有几种语言在JVM上具有协程作为其特性集,例如Kotlin和Scala。 那么,在没有额外支持的情况下,该功能是如何实现的,...

54得票8回答
有没有类似于VirtualEnv的Java工具?

是否有类似于Python virtualenv 的Java或JVM语言的工具?

52得票4回答
为什么不使用GlobalScope.launch?

我看到使用 Globalscope 被强烈不推荐,可以在这里查看。 我的需求很简单。对于每个 Kafka 消息(假设是 ID 列表),我需要将其拆分并同时为每个 ID 调用一个 REST 服务,并等待它完成后继续其他同步任务。应用程序中没有其他需要协程的地方。在这种情况下,我能否只使用 Glo...

49得票2回答
在Scala中使用局部函数 - 它是如何工作的?

我是Scala新手,正在使用2.9.1版本,尝试理解如何使用偏函数。我对柯里化函数有基本的理解,知道偏函数有点像柯里化函数,只能是2nary或类似的形式。显然,我还很不熟悉。 在某些情况下,例如XML过滤,使用偏函数会非常有利,所以我希望更好地了解如何使用它们。 我有一个使用Rewrite...

42得票3回答
Clojure是编译型还是解释型语言?

我在某处读到,Clojure是一种编译语言。它确实像Java或Scala一样被编译,而不是像Jython或JRuby解释。

34得票5回答
Groovy与Jython或JRuby相比的优势是什么?

为什么我会选择使用Groovy而不是Jython或Jruby?这种语言是否提供任何固有优势来弥补Jython和Jruby技能适用于其JVM之外的父语言的缺点? 请记住,我故意保持这个问题的普遍性,但如果在特定领域存在任何优势,请不要犹豫地描述它们。 编辑:为了澄清,如果我在Jruby中编写...

31得票8回答
我应该学习Scala吗?

我是一名有丰富C++编程经验但Python技能中等的程序员。我学习Python的原因如下: 为了获得不同的编程视角(静态与动态、解释性与编译性等) 为了扩展我可以处理的项目范围(Python可以进行Web开发,开发Symbian手机应用程序或快速编写系统管理员脚本) 为了补充我的C++技能...