Я понимаю, что некоторые Prologs поддерживают словарно-подобные ассоциативные структуры данных из коробки. Для реализации, которые это делают, поддерживают ли они некоторое понятие частичной унификации с другой структурой, которая фактически не содержит всех ключей?
Например, в синтаксисе core.logic/miniKanren:
(run* [q]
(== {:foo 1 :bar 2} (partial-map :foo q)))
Это вернет единственный результат, где q связано с 1.
Предоставляют ли Prologs эту операцию или эту частичную структуру имя?