This paper describes a novel application of abstract interpretation dealing with mixed systems of numerical and unification constraints. In general, the abstraction of such systems cannot be separated into two independent parts, since a program variable is often involved in both types of constraints. The proposed abstraction deals in an elegant way with the interaction between the two types of constraints. The abstract domain extends the notion of possible sharing information in the context of logic programs towards possible dependencies established by constraint systems. The usefulness of the information on possible dependencies between program variables is twofold: (1) it is used to derive definite freeness information needed for low-level optimisations; (2) it also allows to delay the addition of constraints in a computation – i.e. high-level optimisation – thus augmenting the opportunity for constraint specialisation. Coupled with results from other analyses, the derived information is highly valuable in the compilation of CLP programs to reduce the overhead of the general constraint solver.
|Original language||English GB|
|Title of host publication||Logic Programming, Proceedings of the Tenth International Conference on Logic Programming, Budapest, Hungary, June 21-25, 1993|
|Editors||David Scott Warren|
|Publisher||MIT Press Journals|
|Number of pages||16|
|State||Published - 1993|