我能想到的唯一方法是使用 Emscripten,但 MLton 没有 LLVM 后端。有可能吗?
最佳答案
我不认为是这样,正如我在 your other question 上评论的那样,我不认为这样做有什么意义。 MLton 执行的许多优化与激进的 jit 编译器无关。另一方面,您不仅需要编译程序,还需要将 MLton 运行时移植到 JavaScript。特别是,这涉及到内存管理系统。使用 Emscripten 路线,您可能需要运行嵌套在 JavaScript 中的 MLton 垃圾收集器。这通常是一个糟糕的主意。特别是如果您还想以有趣的方式与 JS 环境交互,因为那样您就必须跨语言边界来回编码和完成,这往往意味着糟糕的性能和空间泄漏的高可能性。
对于此用例,直接 SMLtoJS编译器就是您想要的(尽管该网站现在似乎已关闭)。
关于javascript - 有没有办法利用 MLton 将标准 ML 编译为 JavaScript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20921576/