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
ECLIPSE => CHR   Extension of

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