Constraint Handling Rules
CHRは、Prolog、Haskell、Javaなどの各ホスト言語上で実装されている。
Prologは最も一般的なホスト言語で、SICStus PrologやSWI Prolog、XSB Prolog、YAP Prolog、ECLiPSe Prologなど多くの処理系上のライブラリとしてサポートされている。Java上ではJava Constraint Kit(JCK)やJCHR(Java Constraint Handling Rules)のライブラリがあり、Javaから呼び出して使うことができる。Haskell上ではHaskell CHRやCCHRなどのライブラリがある。
フィボナッチ数を求めるプログラムの例を示す。トップダウンにもボトムアップにも求めることができる。