什么是生产级别最高的Haskell到JavaScript编译器,编写在浏览器中运行的代码?

ave*_*net 53 javascript haskell code-translation

我不是在寻找具有10年历史记录的必然超级强大的解决方案,而是寻找可用于实际应用程序的东西,而不仅仅是能够运行Hello World示例.

我的偏好是在服务器上运行编译器,所以我可以提前编译Haskell代码.当然,解决方案需要的不仅仅是编译器,并且允许Haskell代码访问浏览器上可用的API(DOM,XHR ......).

脚注:到目前为止,我看到的项目似乎没有得到积极维护,或者超出能够运行"Hello world",或者在某些情况下甚至超出了项目描述.

Dve*_*Dve 16

这里有一个更完整的列表:

http://www.haskell.org/haskellwiki/The_JavaScript_Problem

还有Fay(尽管它只是haskell的一个子集)

https://github.com/faylang/fay

  • 榆树是这个空间中另一个有趣的项目http://elm-lang.org/ (2认同)

Ada*_*ent 9

您可能会发现此列表很有用:https: //github.com/jashkenas/coffee-script/wiki/List-of-languages-that-c​​ompile-to-JS

来自清单:

* UHC (Utrecht Haskell Compiler) backend converts UHC core to JavaScript, allowing the compiling of Haskell code to JS.
* YHC (York Haskell Compiler) backend, as above but with YHC core language.
* jshaskell
Run Code Online (Sandbox Code Playgroud)

我知道它不是Haskell,但Coffee脚本是基于表达式而且相当优雅恕我直言.

  • 在这个列表«Emscripten LLVM to JavaScript compiler.»在C/C++部分,这是错误的,因为它可以编译任何可以编译成LLVM字节码的语言,包括[Haskell](http://hackage.haskell.org/trac/GHC /维基/评论/编译器/后端/ LLVM). (3认同)
  • 其中,UHC看起来最有希望.截至今天,它的最后一个版本是在2010年10月,他们有一个关于JavaScript特定帖子的博客(http://goo.gl/cX4fN).YHC已经死了(http://goo.gl/icNTo),所以我甚至不会考虑评估它.jshaskell是Google Code上的一个项目(http://goo.gl/d85K4).截至今天,自2010年7月以来,该存储库尚未被触及,Google Code将该项目的活动描述为"无"; 不是很鼓舞人心. (2认同)

Rot*_*sor 8

我偶然发现了这个名为ghcjs的项目

看起来很有希望!

引用自README:

Haskell到Javascript翻译

项目旨在提供解决方案

  • 将现代Haskell库编译为Javascript文件,并在Ajax应用程序中使用它们
  • 用Haskell语言开发整个Ajax应用程序

以前版本的项目位于vir.mskhug.ru.

  • 在ghcjs上,另见:http://www.haskell.org/pipermail/haskell-cafe/2011-May/091897.html (2认同)

jer*_*rng 8

虽然GHCJS似乎没有得到积极维护,但Emscripten似乎非常流行.

  • Emscripten将LLVM bitcode 编译为JavaScript.
  • GHC的LLVM后端似乎正在积极开发.
  • 直观地说,回答这个问题,下面的管道可能与"生产质量"相差不远:Haskell lexemes( - > GHC - >)LLVM lexemes( - > Emscripten - >)JavaScript lexemes

我承认这是一个推测性的帖子.