Constraint Handling Rules
Thom Fruhwirth, Thom Frühwirth, Thom Fr8hwirthBooks.org participates in affiliate programs including Bookshop.org and the Amazon Services LLC Associates Program. We may earn a commission from qualifying purchases made through links on this page, at no additional cost to you.
Overview
Constraint Handling Rules (CHR) is both a theoretical formalism based on logic and a practical programming language based on rules. This book, written by the creator of CHR, describes the theory of CHR and how to use it in practice. It is supported by a website containing teaching materials, online demos, and free downloads of the language. After a basic tutorial, the author describes in detail the CHR language and discusses guaranteed properties of CHR programs. The author then compares CHR with other formalisms and languages and illustrates how it can capture their essential features. Finally, larger programs are introduced and analyzed in detail. The book is ideal for graduate students and lecturers, and for more experienced programmers and researchers, who can use it for self-study. Exercises with selected solutions, and bibliographic remarks are included at the ends of chapters. The book is the definitive reference on the subject.
Synopsis
This is the definitive reference on Constraint Handling Rules (CHR), written by its creator. CHR is both a special-purpose language for programming with rules, and a general-purpose language for computational logic and beyond. Describing how to use CHR in practice, the author explains the theory, beginning with the syntax and semantics of CHR, including a full discussion of the declarative and operational semantics. He then compares CHR with other formalisms and languages, and illustrates how it can capture their essential features. Some larger programs are then analyzed in more detail and more formally. The text is well supported, with a web site, featuring online demos, free downloads and free software libraries. The book includes an appendix featuring exercises, selected solutions and an extensive bibliography. Ideal for graduate students on courses, and for more experienced programmers and researchers for self-teaching.