18得票4回答
Ruby/Rails线程安全

我偶尔使用Ruby进行编程,但我没有用它来做过什么大型或多线程的项目。我听说MRI只支持绿色线程,而JRuby通过JVM支持本地线程。然而,我在博客和讨论组的评论中看到了一些说“Rails不是线程安全”的话,或者说Ruby本身不是线程安全的。例如,有人评论说require语句存在问题。这听起来...

7得票1回答
Clojure在项目中的使用案例

当然,我不是因为会使用Clojure才在谈论它。 我很好奇何时何地应该使用Clojure以及它为项目带来的价值。 假设我正在进行Java Web开发,那么我在哪里可以使用Clojure?你有任何用例吗? 谢谢。

15得票1回答
Frege中类似于Haskell的getLine和read函数的等价函数是什么?

是否有Frege版的Haskell中getLine和read等用于从控制台解析输入的标准库函数? 目前我是这样做的:import frege.IO getLine :: IO String getLine = do isin <- stdin isrin <- IO.Inp...

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

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

16得票4回答
坚持在Scala中仅使用函数式范例的效果如何?

最近我买了《Scala编程》,正在阅读中。这门语言和我预想的完全不同!具体而言,似乎实现了我所知道的每一种编程语言思想,除了Lisp宏和Haskell的类型级别副作用隔离。 老实说,我有些不知所措。虽然拥有这么多工具很好,但我真的只是在寻找一种在JVM上的强类型函数式语言。我想我可能可以这样...

12得票2回答
程序员的JVM内部规范参考指南

标题很好地概括了我的问题。我想知道有没有一个良好的资源或起点,可以解答有关JVM(不仅仅是HotSpot,但显然是开始的地方)如何实现或处理特定功能的问题?我不是在寻找JLS或JVM Spec中的内容 - 我知道要先去那里。 例如:当我们尝试理解性能问题时,我们经常会进行关于实际实现中当代最...

7得票4回答
当你说“这种语言在JVM上运行”时,它真正意味着什么?

最近我听说很多关于Scala、Clojure等能够在JVM上运行的语言。这是否意味着这些语言实现了Java API?一个语言在JVM下运行是什么意思? 谢谢。

23得票3回答
为什么基于JVM的Lisp无法优化尾调用?

主要问题:我认为尾递归优化(TCO)最重要的应用是将递归调用转换为循环(在递归调用具有某种形式的情况下)。更准确地说,当被翻译成机器语言时,通常会被翻译成某种跳转序列。一些编译为本机代码的Common Lisp和Scheme编译器(例如SBCL)可以识别尾递归代码并执行此转换。基于JVM的Li...

18得票1回答
将简单语言编译为Java虚拟机代码的Python编译器算法

我有一个简单的语言,正在尝试编写编译器(是的,这是作业),将其编译成Java虚拟机代码。目前它运行得相当不错,但是我在逻辑AND和OR方面遇到了问题。单个if/while条件中每个都很好,但是如果我尝试连接它们,事情就会出错。请纠正我如果我错了,我相信AND具有优先级,但我想知道是否有一些逻辑...

11得票5回答
在JVM中运行时,Scala中递归的使用

从这个网站和网络上搜索得知,JVM不支持尾调用优化。那么这是否意味着像下面这样的尾递归Scala代码不应该在JVM上运行,尤其是在处理大型输入列表时? // Get the nth element in a list def nth[T](n : Int, list : List[T...