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