CHR has previously been implemented in other Prolog systems (SICStus, Eclipse, Yap), Haskell and Java. This CHR system is based on the compilation scheme and runtime environment of CHR in SICStus.
In this documentation we restrict ourselves to giving a short overview of CHR in general and mainly focus on elements specific to this implementation. For a more thorough review of CHR we refer the reader to [Freuhwirth:98]. More background on CHR can be found at [chrSite].
In section 7.2 we present the syntax of CHR in Prolog and explain informally its operational semantics. Next, section 7.3 deals with practical issues of writing and compiling hProlog programs containing CHR. Section 7.4 explains the currently primitive CHR debugging facilities. Section 7.4.3 provides a few useful predicates to inspect the constraint store and section 7.5 illustrates CHR with two example programs. In section 7.6 some compatibility issues with SICStus CHR are listed. Finally, section 7.7 concludes with a few practical guidelines for using CHR.