彭金斯

网络逻辑编程变得简单。在为演绎数据库开发(web)接口时,客户机所需的功能是通过包装逻辑数据访问谓词的HTTP处理程序提供的。这些处理程序负责在客户机和服务器数据表示之间进行转换,通常包括对结果进行分页的选项。设计可访问web的API很困难,因为很难预测客户的确切需求。彭金斯改变了这幅画面。客户机提供了一个Prolog程序,通过访问服务器的逻辑API来选择所需的数据。pengine基础设施提供了转换Prolog数据和处理Prolog非确定性的一般机制。Pengines库很小(2000行Prolog,150行JavaScript)。它大大简化了为Prolog程序定义基于AJAX的客户端,并提供了Prolog进程之间的非确定性RPC,以及与类似于paultarau引擎的Prolog引擎的交互。Pengines是SWI Prolog 7的标准包。