在Prolog中对列表应用谓词

在Prolog中对列表应用谓词,prolog,swi-prolog,Prolog,Swi Prolog,我是SWI Prolog的新手(5.10.5在Win7上运行) 我正在学习的应用程序中有3个文件: a、 损益和b.pl和c.pl a、 pl使用谓词foldl/4,它似乎位于中 c、 pl,使用以下内容: :- ensure_loaded('a.pl'). :- ensure_loaded('b.pl'). 然后调用这些文件中的一些谓词 当我运行c.pl时,我得到一个异常,即没有定义foldl/4。我尝试将以下内容添加到a.pl中: :- use_module(library(apply))

我是SWI Prolog的新手(5.10.5在Win7上运行)

我正在学习的应用程序中有3个文件: a、 损益和b.pl和c.pl

a、 pl使用谓词foldl/4,它似乎位于中

c、 pl,使用以下内容:

:- ensure_loaded('a.pl').
:- ensure_loaded('b.pl').
然后调用这些文件中的一些谓词

当我运行c.pl时,我得到一个异常,即没有定义foldl/4。我尝试将以下内容添加到a.pl中:

:- use_module(library(apply)).

但是没有用

你能帮忙吗

提前谢谢
Suzi

我在Ubuntu上运行5.10.4,我的版本没有
apply:foldl
,尽管它在
apply
中有大多数其他谓词。在线来源显示,
foldl
仅在2012-06-05年才添加,但版本5.10.X已超过2年


因此,看起来在线文档适用于更新得多的版本,您需要将其升级到具有此谓词。

感谢您的回复。有没有办法升级,或者我应该卸载并重新安装?可能有办法只升级库本身。但卸载/重新安装新版本可能更可靠。
:- [library(apply)].