gpt4 book ai didi

Prolog 差异列出了 : code works on SWI and GNU Prolog, 但没有列出 Yap

转载 作者:行者123 更新时间:2023-12-02 11:49:13 28 4
gpt4 key购买 nike

当我在 GNU Prolog 和 SWI Prolog 上运行此代码时,它可以正确计算差异列表中的元素数量。然而,Yap 进入了无限循环。

count(X-X1,0) :- unify_with_occurs_check(X,X1), !.
count([H|T]-T1,N) :- count(T-T1,M), N is M+1.

?- count([1,2|A]-A,N).

为什么 Prolog 解释器(如 Yap)在询问此查询时不会终止?

最佳答案

Yap 5.1.3 似乎有一个错误

较新的版本(使用 Yap 6.2.2 测试)工作正常:

?- count([1,2|A]-A,N).
N = 2

关于Prolog 差异列出了 : code works on SWI and GNU Prolog, 但没有列出 Yap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11567050/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com