正在阅读有关元谓词的 SWI-Prolog 文档 http://www.swi-prolog.org/pldoc/man?section=metapred,我最初假设call(f, ...)
相当于f(...)
, where f
是一些谓词。但我观察到,在某些情况下,两者的行为实际上是不同的。例如,假设知识库包含子句f(g(x))
。然后查询call(f, g(x))
成功了,而f(call(g, x))
才不是。这是有问题的,因为我有时需要使用其主体包含嵌套谓词调用的子句。我希望 Prolog 急切地评估所有谓词调用(我想知道这是否是正确的词?),以便查询f(call(g, x))
减少到f(g(x))
在统一开始之前并取得成功。这可能吗?
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)