4

是否可以使用 Poly/ML 构建共享库?我希望能够C为 Poly/ML 库创建 API,并从不同的编程语言(例如 Python)调用/加载它。有人尝试这样做吗?我知道这可以在 OCaml 中完成:

4

1 回答 1

3

这是 Poly/ML 主要开发人员 ( http://www.polyml.org/ ) 的 David Matthews 提供的答案:

简单的答案是否定的,至少目前是这样。我看了看这个,想知道这是否可能。外部函数接口允许回调函数,因此有一种机制可以生成一个 C 函数,该函数在被调用时会调用一个 ML 函数。我可以看到的困难是,为了生成共享库,必须“取消选择”C 函数的闭包,以便可以为闭包内的地址生成重定位信息。我必须在 libffi 中添加一些东西才能做到这一点。X86 看起来并不太难,但我还没有更进一步。可能还有其他我不知道的问题。

于 2013-07-12T17:57:55.397 回答