5

这些函数式语言编译器都可以将函数式语言编译为 C 代码。Google 的 NaCl SDK 可以编译 C。通过首先使用其他编译器之一进行编译并通过 google 的 Native Client SDK 运行结果来创建 Native Client 应用程序是否合理?

有人做过这个或有关于可能性、陷阱、限制的具体信息吗?

非常感谢!

4

1 回答 1

2

我只能从对 Google NaCl 内部结构有些不确定的立场来回答,但我对 MLton 了解一些。

从理论上讲,它应该工作。实际上,MLton 以非常特定的方式使用内存,并希望能够控制环境。我可以看到的主要缺陷是 NaCl 是否限制了某些可以执行的操作,以保证执行环境的完整性和安全性。 这个链接表明这可能不是问题。

此外,MLton 生成的 C 代码非常非常古怪。再一次,这完全取决于 NaCl 在环境的全面一般性方面为了保证安全而放弃了什么。您对 MLton 输出的代码几乎没有控制权,如果需要进行任何修改,重写运行时是一项艰巨的任务。我会看看它是否有效,然后开始调整运行时系统中导致问题的任何部分。

顺便说一句,如果您让 MLton 代码运行浏览器,我很想看看结果!:D

于 2013-05-07T05:28:16.647 回答