History of Constraint Handling Rules (CHR)
Astonishing Features of CHR. Js
CHR program as constraint handler only a few libraries fall in the category of constraint programming which provides the functionality of constraint handler. Thus, the CHR.js assist as a constraint handler and offers a set of rules for maintenance of multi-set logical formulas, known as constraint store. Hence, it modifies the set of elements to perform multiple functionalities in programming.
Addition and removal of programming rules
Constraint Handling Rules (CHR) introduces the feature of execution, first time in programming history, through the rules. Thus, the execution of the library assists in the addition. and removal of the formulary from the programming to alter the state of the paradigm.
Non deterministic programming
The major purpose of the rules in the CHR.js programming library is to maintain the flow of control by constraints. Hence, how it fires over it, maybe knowns as non-deterministic programming. This strategy alternates the programming flow by specifications at certain points. Therefore, it understands the pre-designed syntax, determinists, semantics and controls the flow according to it.
Extension of other languages with CHR. js library
CHR as Turing complete
Applications of Constraint Handling Rules (CHR)
Since 1991, the CHR. js has been implementing in various programming languages as an extension tool. Therefore, the modification of logical variables in the host language has broadened its application. Hence, there are aspects or properties of programming in which this library finds the application. These include
- Grammar induction: as being integrated by artificial intelligence and machine learning. the CHR.js library designs a model for formal gramma. Thus, It constructs the tree, graphs, and hierarchies for more specificity in software.
- abductive reasoning: the CHR.js refines the logical interference of software, aimed to design. Hence, at the end of all protocol, designed software provides the accurate solution of assigned problems.
- verification: the library, at the end of all designing software, detects that all the targets of development are achieved through the integration of elements and constraints in it.
- type systems: it is the domain of assigning the property in programming. hence, the library modifies this feature by integrating the constraints.
- multi-agent systems: another application of the library is the introduction of multiple interacting intelligent agents along with the constraints in the programming of software.
- natural language processing: while designing software, it is crucial to make it interact with human natural languages, achieved through artificial intelligence of this library.