CHR(ID:5514/chr001)
for Constraint Handling Rules
Thom Fruewirth
Language for the description of constraint manipulation rules, initialy designed as an extention of the constraint logic programming system Eclipse
Related languages
Resources - ECLiPSe
Constraint Handling Rules (CHRs) is a library of ECLiPSe [see separate entry] for writing custom constraint systems in a high-level language. CHRs is essentially a committed-choice language consisting of guarded rules that rewrite constraints into simpler ones until they are solved. The usual formalisms to describe a constraint theory, i.e. inference rules, rewrite rules, sequents, first-order axioms, can be expressed as CHR programs in a straightforward way. The CHR release includes a full colour demo involving geometric constraints, a compiler (into ECLiPSe), two debuggers, a runtime system and 18 constraint solvers. There are solvers for lists, sets, trees, terms, finite and infinite domains, booleans, linear polynomials over reals and rationals, for incremental path consistency, and for terminological and temporal reasoning. external link
|