Abstract
AbstractConstraint 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.
Highlights
Constraint Handling Rules (CHR) is a high-level programming language based on multiheaded multiset rewrite rules
CHR research is performed at the Ludwig Maximilians Universitat (LMU) and the European Computer-Industry Research Centre (ECRC), both in Munich, by Fruhwirth and his students Abdennadher, Meuss, and Wolf
A refined operational semantics of the proposed execution strategy is presented as well. Along these lines is the approach proposed by Robin, Vitorino et al (2007), where disjunctions in CHR∨ are transformed into special purpose constraints that can be handled by an external search component such as JASE (Kramer 2001)
Summary
Constraint Handling Rules (CHR) is a high-level programming language based on multi-headed, committed-choice, guarded multiset rewrite rules. Designed in 1991 by Fruhwirth (1992; 1995; 1998; 2009) for the special purpose of adding user-defined constraint solvers to a host-language, CHR has matured over the last decade to a powerful and elegant general-purpose language with a wide spectrum of application domains. The previous survey on CHR (Fruhwirth 1998) was written in 1998. The aim of this paper is to complement that survey by giving an overview of the last decade of CHR-related research. We start with a short historical overview of the past 10 years of CHR research, followed by an introduction to the language itself.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.