Results 1 -
4 of
4
Guard and Continuation Optimization for Occurrence Representations of CHR
, 2005
"... Abstract. Constraint Handling Rules (CHR) is a high-level rule-based language extension, commonly embedded in Prolog. We introduce a new occurrence representation of CHR programs, and a new operational semantics for occurrence representations, equivalent to the widely implemented refined operational ..."
Abstract
-
Cited by 6 (4 self)
- Add to MetaCart
Abstract. Constraint Handling Rules (CHR) is a high-level rule-based language extension, commonly embedded in Prolog. We introduce a new occurrence representation of CHR programs, and a new operational semantics for occurrence representations, equivalent to the widely implemented refined operational semantics. The occurrence representation allows in a natural way to express guard and continuation optimizations, which remove redundant guards and eliminate redundant code for subsumed occurrences. These optimizations allow CHR programmers to write self-documented rules with a clear logical reading. We show correctness of both optimizations, present an implementation in the K.U.Leuven CHR compiler, and discuss speedup measurements. 1
Guard reasoning in the refined operational semantics of CHR
- in Constraint Handling Rules — Current Research Topics, ser. LNAI
"... Abstract. Constraint Handling Rules (CHR) is a high-level programming language based on multi-headed guarded rules. The original highlevel operational semantics of CHR is very nondeterministic. Recently, instantiations of the high-level operational semantics have been proposed and implemented, remov ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Abstract. Constraint Handling Rules (CHR) is a high-level programming language based on multi-headed guarded rules. The original highlevel operational semantics of CHR is very nondeterministic. Recently, instantiations of the high-level operational semantics have been proposed and implemented, removing sources of nondeterminism and hence allowing better execution control. Rule guards may be redundant under a more instantiated semantics while being necessary in the general highlevel semantics. Expert CHR programmers tend to remove such redundant guards. Although this tends to improve the performance, it also destroys the local logical reading of CHR rules: in order to understand the meaning of a rule, the entire program and the details of the instantiated operational semantics have to be taken into account. As a solution, we propose compiler optimizations that automatically detect and remove redundant guards. 1
Occurrence Representations of CHR
, 2005
"... Constraint Handling Rules (CHR) is a high-level rule-based language extension, commonly embedded in Prolog. We introduce a new occurrence representation of CHR programs, and a new operational semantics for occurrence representations, equivalent to the widely implemented refined operational semantics ..."
Abstract
- Add to MetaCart
Constraint Handling Rules (CHR) is a high-level rule-based language extension, commonly embedded in Prolog. We introduce a new occurrence representation of CHR programs, and a new operational semantics for occurrence representations, equivalent to the widely implemented refined operational semantics. The occurrence representation allows in a natural way to express guard and continuation optimizations, which remove redundant guards and eliminate redundant code for subsumed occurrences. These optimizations allow CHR programmers to write self-documented rules with a clear logical reading. We show correctness of both optimizations, present an implementation in the K.U.Leuven CHR compiler, and discuss speedup measurements.
Analysis and Optimization of CHR Programs
"... Introduction. Constraint Handling Rules (CHR) [2] is a high-level, powerful, yet relatively simple “no box ” CLP language, embedded in a host language, commonly Prolog. It is based on multi-headed committed-choice rules. Recent implementations of CHR consist of a compiler which translates a CHR prog ..."
Abstract
- Add to MetaCart
Introduction. Constraint Handling Rules (CHR) [2] is a high-level, powerful, yet relatively simple “no box ” CLP language, embedded in a host language, commonly Prolog. It is based on multi-headed committed-choice rules. Recent implementations of CHR consist of a compiler which translates a CHR program to host language code, and a run-time system implementing the constraint store.

