Some Global Compile-Time Optimizations for CLP(R).
Niels Jørgensen, Kim Marriott, Spiro Michaylov · 1991
Generation of efficient code for constraint logic programming (CLP) languages poses new problems. It is not yet clear which techniques from Prolog compilation will be important nor what sort of domain specific techniques can be developed. As a case study, we describe and evaluate four global optimizations for use in the compilation of the language CLP(R). The first three are variants of optimizations used in Prolog compilation. The fourth is novel, and is based on finding constraints which are "future redundant" in the sense that at some point in the future they will be implied by other constraints. Finally, we give evidence in the form of preliminary tests that these optimizations can significantly improve performance. 1 Introduction Constraint logic programming (CLP) languages [7] extend the power of logic programming languages, such as Prolog, by allowing computation over non-symbolic domains such as the real numbers. Compilation of CLP languages poses new problems, requiring tech...