如果是这样,那么我可以通过更改其(Haskell)配置让人们玩我的项目:在浏览器中重新编译它,然后在浏览器中重新运行它。我不在乎速度。我只是想在浏览器中演示一个难以设置的基础桌面项目。因此,可能的新用户可以在几秒钟内看到他们是否喜欢它,而无需设置。
那会有多酷!
从我读过的内容来看,GHCJS将STG编译成JavaScript。它说它使用GHC API,所以我们应该能够将它编译成JavaScript,就像任何其他Haskell库一样。 (对吗?)虽然GHC运行时有很多C,但编译器本身是纯Haskell吗?
这样:
答案 0 :(得分:11)
GHCJS和Haste据我所知,直接利用GHC。虽然GHC主要是haskell,但它在运行时及其运行方式上与相当数量的cbits相关联。我相当肯定,目前也不能编译为直接在浏览器中运行"自托管"方式。
然而,Fay,这是一种类似Haskell的方言" JS可以通过GHCJS编译,这非常漂亮(https://github.com/ghcjs/ghcjs-examples/tree/master/fay-hello)虽然可能不是你想要的。
另一种选择,如果您的系统足够简单,就是使用emscripten将拥抱置于浏览器中,并让您的用户使用它。
正如你猜测的那样,各种各样的"在浏览器中尝试它"网站实际上都使用与机器的连接,通常运行类似mueval
的实际执行给定代码的东西。