Constraint Handling Rules

Constraint Handling Rules (CHR) is a declarative, rule-based programming language, introduced in 1991 by Thom Frühwirth at the time with European Computer-Industry Research Centre (ECRC) in Munich, Germany. Originally intended for constraint programming, CHR finds applications in grammar induction, type systems, abductive reasoning, multi-agent systems, natural language processing, compilation, scheduling, spatial-temporal reasoning, testing, and verification.

Comment
enConstraint Handling Rules (CHR) is a declarative, rule-based programming language, introduced in 1991 by Thom Frühwirth at the time with European Computer-Industry Research Centre (ECRC) in Munich, Germany. Originally intended for constraint programming, CHR finds applications in grammar induction, type systems, abductive reasoning, multi-agent systems, natural language processing, compilation, scheduling, spatial-temporal reasoning, testing, and verification.
Designer
enThom Frühwirth
Has abstract
enConstraint Handling Rules (CHR) is a declarative, rule-based programming language, introduced in 1991 by Thom Frühwirth at the time with European Computer-Industry Research Centre (ECRC) in Munich, Germany. Originally intended for constraint programming, CHR finds applications in grammar induction, type systems, abductive reasoning, multi-agent systems, natural language processing, compilation, scheduling, spatial-temporal reasoning, testing, and verification. A CHR program, sometimes called a constraint handler, is a set of rules that maintain a constraint store, a multi-set of logical formulas. Execution of rules may add or remove formulas from the store, thus changing the state of the program. The order in which rules "fire" on a given constraint store is non-deterministic, according to its abstract semantics and deterministic (top-down rule application), according to its refined semantics. Although CHR is Turing complete, it is not commonly used as a programming language in its own right. Rather, it is used to extend a host language with constraints. Prolog is by far the most popular host language and CHR is included in several Prolog implementations, including SICStus and SWI-Prolog, although CHR implementations also exist for Haskell, Java, C, SQL, and JavaScript. In contrast to Prolog, CHR rules are multi-headed and are executed in a committed-choice manner using a forward chaining algorithm.
Homepage
constraint-handling-rules.org
Hypernym
Language
InfluencedBy
Prolog
Influenced by
Prolog
Is primary topic of
Constraint Handling Rules
Label
enConstraint Handling Rules
Link from a Wikipage to an external page
arxiv.org/abs/cs/0408027
listserv.cc.kuleuven.ac.be/archives/chr.html
chr.informatik.uni-ulm.de/~webchr/
dtai.cs.kuleuven.be/CHR/
dtai.cs.kuleuven.be/CHR/biblio/
Link from a Wikipage to another Wikipage
Abductive reasoning
Business rules engine
C (programming language)
Category:Concurrent programming languages
Category:Constraint logic programming
Category:Constraint programming languages
Category:Declarative programming languages
Compiler
Confluence (abstract rewriting)
Constraint logic programming
Constraint programming
Critical pair (logic)
Declarative programming
Forward chaining
Grammar induction
Guard (computer science)
Haskell (programming language)
Java (programming language)
Lazy evaluation
LEAPS (algorithm)
Logical variable
Logic programming
Multi-agent system
Multi-set
Natural language processing
Non-deterministic programming
Partially ordered set
Pattern matching
Production system (computer science)
Programming language
Prolog
Prolog syntax and semantics
Rete algorithm
Rewriting
Scheduling (production processes)
Semantics (computer science)
Software testing
Software verification
Spatial-temporal reasoning
SQL
SWI-Prolog
Tautology (logic)
Term algebra
TREAT
Turing complete
Type system
Unification (computer science)
Unification (computing)
Name
enConstraint Handling Rules
Name
enConstraint Handling Rules (CHR)
Paradigms
Constraint logic programming
Declarative programming
SameAs
4iJcg
Constraint Handling Rules
m.05t82q
Q5164373
سی‌اچ‌آر
Subject
Category:Concurrent programming languages
Category:Constraint logic programming
Category:Constraint programming languages
Category:Declarative programming languages
WasDerivedFrom
Constraint Handling Rules?oldid=1089422502&ns=0
WikiPageLength
15705
Wikipage page ID
1753362
Wikipage revision ID
1089422502
WikiPageUsesTemplate
Template:Infobox programming language
Template:Official website
Template:Reflist
Template:Short description
Template:Start date and age