Static inference of modes and data dependencies in logic programs
- 1 July 1989
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Programming Languages and Systems
- Vol. 11 (3) , 418-450
- https://doi.org/10.1145/65979.65983
Abstract
Mode and data dependency analyses find many applications in the generation of efficient executable code for logic programs. For example, mode information can be used to generate specialized unification instructions where permissible, to detect determinacy and functionality of programs, generate index structures more intelligently, reduce the amount of runtime tests in systems that support goal suspension, and in the integration of logic and functional languages. Data dependency information can be used for various source-level optimizing transformations, to improve backtracking behavior and to parallelize logic programs. This paper describes and proves correct an algorithm for the static inference of modes and data dependencies in a program. The algorithm is shown to be quite efficient for programs commonly encountered in practice.Keywords
This publication has 7 references indexed in Scilit:
- Flow analysis of dynamic logic programsThe Journal of Logic Programming, 1989
- Functional computations in logic programsACM Transactions on Programming Languages and Systems, 1989
- Automatic mode inference for logic programsThe Journal of Logic Programming, 1988
- Unfold/fold transformations and loop optimization of logic programsPublished by Association for Computing Machinery (ACM) ,1988
- Denotational and operational semantics for prologThe Journal of Logic Programming, 1988
- Relating logic programs and attribute grammarsThe Journal of Logic Programming, 1985
- Some global optimizations for a PROLOG compilerThe Journal of Logic Programming, 1985