Elm中的Elm编译器?

10
几乎每种编译语言都有用该语言编写的编译器版本。 难道没有用Elm编写的Elm编译器吗?

我不知道如何证明否定。我找到的几份文件表明编译器是用Haskell编写的。 - Michael Lorton
原本的编译器是 Haskell。现在有一个用 Elm 编写的 Elm 编译器。 - Brenn
4个回答

21

目前唯一完整的Elm编译器是“官方”编译器,因此没有命名,它是用Haskell编写的。我不知道是否有Elm语言编写的Elm编译器实现。

多年来,我在读Elm邮件列表时看到过这个问题。有些人表达了对使用Elm编写编译器的兴趣,以便可以将其编译为JavaScript,从而在浏览器中有一个Elm编译器。但迄今为止,这是唯一一个引人注目的论点(如我所记得的)。这还不足以使将Elm编译器移植到Elm成为优先事项,因为移植当前由elm-compiler使用的Haskell库的一半甚至更多的工作量巨大,成本效益比例失衡。


1
除了能够在浏览器或其他JavaScript环境中运行的优点(这正是我想要的),它还可以证明使用Elm编写严肃的程序并不需要花费巨大的努力。 - Michael Lorton
12
@Malvolio Elm是一种完全的函数式编程语言,因此它应该非常适合编译器(这是函数式语言的传统优势)。但是Elm是一种专注于GUI界面的语言,因此目前库的重点并不适合作为一个出色的编译器语言。但是它未来可能会成为一个好的编译器语言。 - Apanatshka

5

4
截至2017年,据我所知,官方编译器仍然是唯一完整的Elm编译器,但是它已经被转换为JavaScript,这意味着它现在可以从Elm中运行并在浏览器中运行。这意味着使用Elm编写Elm编译器的主要优势现在似乎不那么相关了。您可以在此处看到将其用于在浏览器中编译Elm的示例。

3
2019年,有一款非官方的用Elm语言编写的Elm编译器正在开发中。目前,它支持Elm 0.19版本。 "Original Answer"翻译成"最初的回答"。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接