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