Constraint Handling Rules

The more you CHR, the better you are.

New Edition of a CHR Book

Book coverThe book “Constraint Handling Rules – Compilation, Execution, and Analysis” has a new edition, because the old one is out of print. By popular request, the book format has been enlarged. See Google Books.

Call for Papers ICLP’18

As a PC-member I encourage submissions to

34th International Conference on Logic Programming (ICLP 2018)
Oxford, UK, July 14-17, 2018

ICLP is the premier conference on foundations and applications of logic programming, including but not restricted to answer-set programming, non-monotonic reasoning, unification and constraints based logic languages, constraint handling rules, argumentation logics, deductive databases, description logics, inductive and co-inductive logic programming.

Patents citing CHR

Call for Papers Spring 2017

As a PC-member I strongly welcome submissions dealing with Constraint Handling Rules at these fine conferences:

19th International Symposium on Principles and Practice of Declarative Programming (PPDP),
Namur, Belgium, 9 Oct. – 11 Oct. 2017.

International Joint Conference on Rules and Reasoning (RuleML+RR 2017),
London, UK from 12-15th July 2017.

21st International Conference on Logic for Programming, Artificial Intelligence and Reasoning,
Maun, Botswana, at Cresta Riley’s Hotel, 7-12th May 2017.

And another fine conference:

33rd International Conference on Logic Programming (ICLP 2017),
Melbourne, Australia, August 29 to September 1, 2017.

Persistent Constraint Store in newest SWI-Prolog

Yesterday Jan Wielemaker published version 7.3.28 of SWI-Prolog. It comes with a new flag toplevel_mode which might be especially useful to test and debug CHR programs. It was highlighted in the version announcements as follows:

After suggestion by Falco Nogatz, it is now possible to run the toplevel in recursive mode such that global variables remain bound. Nice for teaching CHR. Not clear what the other use cases are. Use ?- set_prolog_flag(toplevel_mode, recursive). to enable this.
Some insights on the discussion, implementation and usage of the new flag can be found in the related GitHub issue. It can be used to have a persistent constraint store over multiple queries in the toplevel. This way it is possible to, e.g., use the classical gcd/1 constraint solver incrementally for computing the greatest common divisor of numbers given on by one:
?- set_prolog_flag(toplevel_mode, recursive).
?- gcd(24).
?- gcd(42).
?- X = 3.
X = 3,
As seen in the last query, the contents of the constraint store are printed by default on every query. So, for more advanced usage, it might become handy to use the recursive toplevel mode with CHR’s flag chr_toplevel_show_store set to false and explicitly call the meta-predicate chr_show_store/1.

Call for Papers PADL’17

As a PC-member I encourage submissions to

19th International Symposium on Practical Aspects of Declarative Languages (PADL 2017) Paris, France, 16th and 17th January 2017

PADL 2017 welcomes new ideas and approaches pertaining to applications and implementation of declarative languages. PADL 2017 will be co-located with the Symposium on Principles of Programming Languages (POPL 2017), in Paris, France.

GCAI 2016 call for papers

As a PC members I invite submission of papers related to CHR to

The 2nd Global Conference on Artificial Intelligence Berlin Germany, 29th September – 2nd October 2016

The 2nd Global Conference on Artificial Intelligence (GCAI 2016) will be held at the Freie Universitaet Berlin from 29th September to 2nd October, 2016. The conference, which addresses all aspects of artificial intelligence, is being organized by LRG ( and the Freie Universitaet Berlin. The program chairs are Christoph Benzmueller, Raul Rojas, and Geoff Sutcliffe. The call for papers can be found at the conference’s website.

CHR Papers at RuleML 2016

The following CHR-related papers were accepted at RuleML 2016:

  • Iliano Cervesato and Edmund Soon Lee Lam. Choreographic Compilation of Decentralized Comprehension Patterns.
  • Daniel Gall and Thom Fruehwirth. Translation of Cognitive Models from ACT-R to Constraint Handling Rules.
  • Thom Fruehwirth. Why Can’t You Behave? Non-Termination Analysis of Direct Recursive Rules with Constraints.