Getting started with Constraint Programming

Constraint Handling Rules (CHR) is a language to develop own (problem specific) constraint solvers. Check this:

  • CHR Homepage

There you find links to

  • WebCHR Online Demo (originally developed at LMU Munich, now beautified at Uni Ulm)
  • Several implementations for Prolog (naturally) and Haskell, as well as a (unfortunately unmaintained) prototype for Java (JCK).

There is also a JavaScript implementation of CHR: http://chrjs.net (https://github.com/fnogatz/CHR.js)


Maybe you can have a look at an introductory course thought at the Saarland University about constraint programming. They do not use mozart as dr_pepper said but Gecode. Gecode is a follow-up language of mozart, implemented partly by the same people.


There is a lot of excellent material available on the web once you get in the groove, but the links below are (IMO) good starting points (the ones I used).

Programming with Constraints: An Introduction - (Course website)
Programming with Constraints: An Introduction - (Google book)
Online Guide to Constraint Programming