可以使用 library 从 Prolog 中调用 R最近在 SWI 和 YAP Prolog 变体中实现。
反过来,有没有办法从 R 中调用 Prolog?在没有直接的 R - Prolog 接口(interface)能够将 Prolog 术语绑定(bind)到 R 就像 Rcpp 将 C++ 对象绑定(bind)到 R 对象一样,是否有任何间接的方法来实现这个目标(比如通过 Rcpp 从嵌入在 R 代码中的 C++ 代码调用 Prolog) ?
我所说的“调用”是指将序言术语“链接”到 R 对象,就像使用 Rcpp 的 C++ 对象一样,并通过 R 函数包装器执行序言查询,而无需诉诸操作系统调用。
最佳答案
在 SWI-Prolog 和 YAP 中,您可以使用库 real ,由 Nicos Angelopoulos 和 Vitor Costa Santos 撰写。
有了这个库,不仅可以从 Prolog 中调用 R,而且您甚至可以在 Prolog 和 R 之间共享数据结构(例如,Prolog 列出 <-> R 矩阵)!
较早的版本是 published at PADL 2013 .当前版本使用了 SWI7 中的一些最新更改,例如使用点进行函数应用,使 SWI-Prolog 和 R 之间的集成更加无缝。
关于r - 从 R 调用 Prolog,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27681217/