CHR: управление «хранилищами ограничений»

#prolog #constraints #store #chr

#пролог #ограничения #Магазин #chr

Вопрос:

Есть ли способ управлять хранилищами ограничений в CHR? Что я имею в виду?

Допустим, я выполняю запрос. Я хочу, чтобы результирующий набор был отложен (может быть с областью действия, отличной от user:) для повторного использования ИЛИ в качестве запуска для другого запуска, или просто для проверки.

Другое дело, что вы делаете, если получаете сотни или тысячи результатов. вы не можете управлять ими на экране. Как вы отлаживаете эти сценарии?

Есть ли способ утверждать () результаты или часть результатов в качестве фактов пролога?

==========

Один из способов сделать это, который я понял, — добавить предложение prolog, которое утверждает все, что вы хотите, но по-прежнему не сохраняет в стороне CStore; (

 dup(X,Y) :-  assertz(via(X,Y)).

...head.. <=> ...body..., dup(X,Y).
 

не очень удобно, но хоть что-то…