  Constraint Handling Rules (CHR) is a high-level programming language based on
multi-headed multiset rewrite rules. Originally designed for writing
user-defined constraint solvers, it is now recognized as an elegant general
purpose language. CHR-related research has surged during the decade following
the previous survey by Fruehwirth. 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.
