r - 从 R 调用 Prolog

标签 r prolog ffi

可以使用 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/

相关文章:

c# - 将 Prolog 与 C# 集成

c - 如何处理 ruby​​ ffi gem 中的 ruby​​ 数组?

windows - 设置 Vim 以在 Windows 中使用 R 和 Sweave

Prolog 谓词 (\=)/2 被忽略

r - 我想按之前的近日期将我的数据框过滤到给定日期

prolog - 如何对不同事实中的数字进行求和?

prolog - prolog中的/2/3是什么意思?

c++ - 将 haskell 解释器(提示)构建为动态库,可从 C++ : Missing Interpreter. dyn_hi 使用

Rmarkdown保留.tex文件

r - 如何有条件地从数据框中删除行