一个人将如何setarg_with_occurs_check/3
在
Prolog 中进行引导。Prolog 似乎有两种方法来创建循环数据结构。
不仅统一可以做到这一点,setarg/3 也可以:
/* SWI-Prolog 8.3.26 */
?- X = f(X).
X = f(X).
?- X = f(0), setarg(1,X,X).
X = f(X).
可以说我想要unify_with_occurs_check/2
for的类似物
setarg/3
。一个人将如何进行并实施相同的?
(顺便说一句,在某些 Prolog 系统中,setarg/3 有时使用
名称 change_arg/3,有些甚至根本没有)