Theory and Practice of Logic Programming

Regular Papers

As time goes by: Constraint Handling Rules

A survey of CHR research from 1998 to 2007

JON SNEYERSa1, PETER VAN WEERTa1, TOM SCHRIJVERSa1 and LESLIE DE KONINCKa1

a1 Deparment of Computer Science, K.U.Leuven, Belgium (e-mail: jon.sneyers@cs.kuleuven.be, peter.vanweert@cs.kuleuven.be, tom.schrijvers@cs.kuleuven.be, leslie.dekoninck@cs.kuleuven.be

Abstract

Constraint Handling Rules (CHR) is a high-level programming language based on multiheaded multiset rewrite rules. Originally designed for writing user-defined constraint solvers, it is now recognized as an elegant general purpose language. Constraint Handling Rules related research has surged during the decade following the previous survey by Frühwirth (J. Logic Programming, Special Issue on Constraint Logic Programming, 1998, vol. 37, nos. 1–3, pp. 95–138). Covering more than 180 publications, this new survey provides an overview of recent results in a wide range of research areas, from semantics and analysis to systems, extensions, and applications.

(Received March 27 2008)

(Revised March 09 2009)

(Accepted June 24 2009)

KEYWORDS:

  • Constraint Handling Rules (CHR);
  • survey