Consider this simple program:
:- use_module(library(chr)). :- chr_constraint foo/1. :- foo(a).
When I try loading it, I get:
ERROR: /home/carlo/code/prolog/question.pl:4: ERROR: catch/3: Unknown procedure: foo/1 Warning: /home/carlo/code/prolog/question.pl:4: Warning: Goal (directive) failed: user:foo(a)
could you explain why? I was convinced that all the CHR constraints went in an unique per-module store. What’s the mental model I should use instead?