我能想象的唯一方法是使用Emscripten,但是MLTon没有LLVM后端。有可能吗?

最佳答案

我不这么认为,正如我对your other question所做的评论一样,我认为这样做没有多大意义。 MLton执行的许多优化与激进的jit编译器无关。另一方面,您不仅需要编译程序,还需要将MLton运行时移植到JavaScript。特别地,这涉及存储器管理系统。使用Emscripten路由,您可能需要运行嵌套在JavaScript中的MLton的垃圾收集器。通常这是一个糟糕的主意。尤其是如果您还想以有趣的方式与JS环境进行交互,因为那样的话,您将不得不跨语言边界进行编组和最终确定,这往往意味着令人恐惧的性能和极高的空间泄漏可能性。

对于此用例,直接的SMLtoJS编译器就是您想要的(尽管该站点现在似乎已关闭)。

10-07 21:28