Ограничение направления в CHR (правила обработки ограничений)
Я знаю об ограничении каналов в контексте программирования ограничений. Кроме того, я могу увидеть некоторые примеры реализации ограничения канализации в EclipseCLP здесь. В качестве примера в EclipseCLP, предположим, что есть две переменные A
а также B
с двух разных точек зрения V1
а также V2
так, что значение I
для переменной A
в V1
эквивалентно значению J
для переменной B
в V2
, Мы напишем это ограничение канала (A #= I) #= (B #= J)
в ECLiPSeCLP (на прологическом языке).
Теперь вопрос в том, как это можно реализовать в контексте CHR на языке swi-prolog или ECliPSe на языке CHR? (Я использую из library(chr)
).