我不是在寻找具有10年历史记录的必然超级强大的解决方案,而是寻找可以在真实应用程序中使用的东西,而不仅仅是能够运行Hello World示例。
我的偏好是在服务器上运行编译器,所以我可以提前编译Haskell代码。当然,解决方案需要的不仅仅是编译器,并且允许Haskell代码访问浏览器上可用的API(DOM,XHR ......)。
脚注:到目前为止我看到的项目似乎没有得到积极维护,或者超出能够运行“Hello world”,或者在某些情况下甚至超出了项目描述。< /子>
答案 0 :(得分:16)
答案 1 :(得分:9)
您可能会发现此列表有用: https://github.com/jashkenas/coffee-script/wiki/List-of-languages-that-compile-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
我知道它不是Haskell,但Coffee脚本是基于表达式而且相当优雅的恕我直言。
答案 2 :(得分:8)
我偶然发现了这个名为ghcjs
的项目看起来很有希望!
来自README
:
Haskell到Javascript翻译器
项目旨在为
提供解决方案
- 将现代Haskell库编译为Javascript文件并使用 它们在Ajax应用程序中或
- 使用Haskell语言开发整个Ajax应用程序
项目的早期版本位于vir.mskhug.ru。
答案 3 :(得分:8)
虽然GHCJS似乎没有得到积极维护,但Emscripten似乎是最新的。
我承认这是一个推测性的帖子。
答案 4 :(得分:2)
这种语言, Roy ,可能不是真正的Haskell(?),但看起来非常相似:
罗伊似乎还活着; GitHub回购中有很多分叉:https://github.com/pufuwozu/roy
如果您使用的是Play Framework 2.0,那么可以使用一个插件 Ray 来在Play Framework 2.0上运行Roy:
http://brianmckenna.org/blog/ray
https://github.com/pufuwozu/ray
最后一次提交是在四个月前进行的,很久以前,请记住Play Framework 2可能在4或5个月前发布。
答案 5 :(得分:0)
有一个来自Yesod的“大多数生产级别”候选人列表:https://github.com/yesodweb/yesod/wiki/Javascript-Options(Yesod是一个非常受欢迎的Haskell webframework,所以他们可能知道他们在说什么)