Библиотека списков ассоциаций SWI-Prolog не работает - PullRequest
0 голосов
/ 30 августа 2018

Я играл с библиотекой списка ассоциаций library(assoc), которая поставляется с SWI. Однако предикат put_assoc/4, похоже, просто не работает. Если я попробую следующий запрос

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

висит бесконечно. Я не могу сказать, есть ли какая-то очевидная ошибка, которую я делаю здесь, потому что я не вижу никакой причины, почему это не должно работать.

1 Ответ

0 голосов
/ 30 августа 2018

У вас есть порядок аргументов в обращении к предикату put_assoc/4, неверный. Должно быть:

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