Some global compile-time optimizations for CLP(R)

Niels Jørgensen, Kim Marriott, and Spiro Michaylov.

Abstract:

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.