【问题标题】:Scala's own LLVM implementationScala自己的LLVM实现
【发布时间】:2016-05-12 21:22:36
【问题描述】:

我正在阅读 LLVM 并尝试学习编译器设计。我的问题是:是否有任何专用 Scala 运行时的计划,以及 JVM、.net 等其他运行时的字节码可移植性

还有任何现有的 LLVM 实现相同。

【问题讨论】:

  • 您的问题不清楚。您是 a) 询问 LLVM 的 Scala 绑定,以便您可以例如在 Scala 中编写编译器或优化传递,b) 询问针对和/或使用 LLVM 的 Scala 实现,c) Scala 的可移植字节码格式?
  • 嗨@JörgWMittag,我的问题是关于你提出的前两点,现在对字节码可移植性有点清楚

标签: scala vm-implementation


【解决方案1】:

Scala Native 昨天在纽约 ScalaDays 开源。

Scala Native 是专为 Scala 设计的新的提前编译器和轻量级托管运行时

Scala Native 通过 LLVM 提前编译

【讨论】:

    【解决方案2】:

    有一个已停产的 .NET 后端和一个 JS backend。 Typesafe 专注于 JVM 是可以理解的。所以去吧。

    学习 scala.js 编译器应该很有帮助。值得注意的一点是 scala.js 不支持 java 或 scala 反射,但它仍然设法支持大量流行的 scala 库。这是因为反射在 scala 库中不如在 java 库中常见。

    【讨论】:

      【解决方案3】:

      请注意,llvm 有一个未完成的旧尝试:https://github.com/greedy/scala

      this thread 似乎对 scala llvm 的一些研究正在开始或已经在进行。但不要指望很快就会有任何结果。

      【讨论】:

        猜你喜欢
        • 2017-02-22
        • 2016-05-02
        • 2012-02-12
        • 1970-01-01
        • 2017-09-19
        • 2015-02-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多