SWI-Prolog关联列表库似乎不起作用

时间:2018-08-30 19:23:17

标签: prolog associative-array

我一直在使用SWI附带的关联列表库library(assoc)。但是,谓词put_assoc/4似乎根本不起作用。如果我尝试以下查询

?- empty_assoc(E), put_assoc("foo", F, "bar", E).

无限期挂起。我无法确定我是否在这里犯了一些明显的错误,因为我看不到任何不可行的原因。

1 个答案:

答案 0 :(得分:3)

您在put_assoc/4谓词错误的调用中具有参数的顺序。应该是:

?- empty_assoc(Empty), put_assoc("foo", Empty, "bar", Updated).
Empty = t,
Updated = t("foo", "bar", -, t, t).