2015-11-05 64 views
2

我正在阅读LLVM并试图学习编译器设计。我的问题是:如果有任何专门的Scala运行时计划,并且在其他运行时(如JVM)上具有字节代码可移植性,则同样也存在任何现有的LLVM实现。斯卡拉自己的LLVM实现

+0

名列前茅的时间编译你的问题还不清楚。您是否)询问有关LLVM的Scala绑定,以便您可以在Scala中编写一个编译器或优化过程,b)询问一个针对和/或使用LLVM的Scala实现,c)Scala的便携式字节码格式? –

+0

Hi @JörgWMittag,我的问题是你提出的前两点,现在有点清楚字节码的可移植性 – Ashoka

回答

5

Scala Native昨天在纽约市ScalaDays开放。

斯卡拉母语是一个新名列前茅的实时编译器和轻量管理运行专门为斯卡拉

设计

斯卡拉母语通过LLVM

4

有一个不连续的.NET后端和一个JS backend。 Typesafe可以理解地集中在JVM上。所以去做吧。

研究scala.js编译器应该是相当有帮助的。有一点值得注意的是scala.js不支持java或scala反射,但它仍然支持大量流行的scala库。这是由于反射在scala库中比在java库中不常见。