Mode Analysis of Functional Logic Programs

by Michael Hanus, Frank Zartmann

First International Static Analysis Symposium (SAS'94), Springer LNCS 864, pp. 26-42, 1994
© Springer-Verlag

Functional logic languages amalgamate functional and logic programming paradigms. They can be efficiently implemented by extending techniques known from logic programming. Such implementations can be largely improved if information about the run-time behavior, in particular the modes of function calls, is available at compile time. In this paper we present a framework to derive such global information. The concrete operational semantics considered in this paper is normalizing innermost narrowing, which combines the deterministic reduction principle of functional languages with the nondeterministic search principle of logic languages. Due to the normalization process between narrowing steps, standard analysis frameworks for logic programming cannot be applied. Therefore we develop new techniques to correctly approximate the effect of the intermediate normalization process.

DVI (77 KB) Postscript (238 KB) BibTeX-Entry