We present the essentials of the Constraint Handling Rules (CHR) programming language by the use of examples in this Tutorial part.
The first chapter Getting started is a step-by-step introduction to CHR based on simple examples.
The second chapter My first CHR programs introduces some simple, but concise and effective, CHR programs. We discuss basic properties of CHR programs in an informal way: anytime and online algorithm property, correctness, confluence, concurrency, and complexity. The formal analysis of these programs is deferred to Part III.
Exercises and selected solutions are given for the practical programming chapters in Parts I and III. More exercises can be found online.