【发布时间】:2022-12-20 04:08:38
【问题描述】:
鉴于 SICStus Prolog 中的以下简约“求解器”......
:- 模块(附加,[附加/1])。 :- use_module(库(atts))。 :- 属性 a/0。 附加(X):- put_atts(X,a)。 验证属性(_,_,[])。 attribute_goal(V,attach(V)) :- get_atts(V,a), put_atts(V,-a)。
...我观察到:
| ?- 附加(X),copy_term(X,Xc,Xcc),copy_term(X,Yc,Ycc)。 Xcc = 附加:附加(Xc),Ycc = 真?
残留的目标去哪儿了?!
不是attribute_goal/2中的put_atts/2撤消?
编辑。previous answer(有点相关的问题)暗示了使用内置谓词when/2 时的类似问题。
【问题讨论】:
标签: prolog sicstus-prolog