Many different programming languages have been extended with CHR. On this page you can download several CHR systems. There are also interesting extensions of CHR and programming tools for CHR.

If you just want to try CHR without much hassle, try the WebCHR Interactive Demo.

CHR(Prolog) systems

The Leuven CHR System is a state-of-the-art CHR system. It is available in the following Prolog systems:

Other CHR(Prolog) systems:

  • CHRrp: CHR extended with rule priorities
  • CHRat: CHR with ask and tell, a modular CHR system
  • CHORD: an object-oriented extension of CHRv
  • ToyCHR: a pure Prolog implementation
  • HAL includes a CHR system
  • ECLiPSe includes a CHR system
  • CHR in Curry (a functional logic language)

CHR(Java) systems

The recommended CHR(Java) system is the Leuven JCHR system. An older CHR(Java) system is JCK: the Java Constraint Kit. Also, older versions of CHORD were implemented in Java.

CHR(Haskell) systems

There are several CHR systems for Haskell:

CHR(C) system

CCHR is an efficient implementation of CHR in C.

CHR Mailing List

Subscribe to the CHR mailing list to get announcements of CHR-related events and to discuss about CHR.