SWI-Prolog Association List Library 似乎不起作用

SWI-Prolog Association List Library doesn't appear to work

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

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

无限期挂起。我不知道我在这里是否犯了一些明显的错误,因为我看不出有任何理由为什么这不起作用。

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

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