Uploaded at Jan 31 18:11:05 2022 (UTC)
Succesfully tested at Sep 28 01:46:53 2023

Curry Package chr-curry


This package contains a library CHR which provides an implementation of Constraint Handling Rules in Curry, an interpreter for CHR rules based on the refined operational semantics of Duck et al. (ICLP 2004), and a compiler into CHR(Prolog).

To use CHR(Curry), specify the CHR(Curry) rules in a Curry program, load it, add module CHR and interpret or compile the rules with runCHR or compileCHR, respectively. This can be done in one shot with

> cypm curry :l MyRules :add CHR :eval 'compileCHR "MyCHR" [rule1,rule2]' :q

The directory examples contains various CHR(Curry) example programs.


The structure and implementation of the CHR library is described in the following paper:

M. Hanus: CHR(Curry): Interpretation and Compilation of Constraint Handling Rules in Curry Proc. of the 17th International Symposium on Practical Aspects of Declarative Languages (PADL 2015) Springer LNCS 9131, pp. 74-89, 2015 Online


Checkout with CPM:
cypm checkout chr-curry 3.0.0
Package source:
chr-curry-3.0.0.tar.gz [browse]
Source repository: