我一直在使用SWI附带的关联列表库library(assoc)
。但是,谓词put_assoc/4
似乎根本不起作用。如果我尝试以下查询
?- empty_assoc(E), put_assoc("foo", F, "bar", E).
无限期挂起。我无法确定我是否在这里犯了一些明显的错误,因为我看不到任何不可行的原因。
答案 0 :(得分:3)
您在put_assoc/4
谓词错误的调用中具有参数的顺序。应该是:
?- empty_assoc(Empty), put_assoc("foo", Empty, "bar", Updated).
Empty = t,
Updated = t("foo", "bar", -, t, t).