Improving Control of Logic Programs by Using Functional Logic Languages

by Michael Hanus

4th International Symposium on Programming Language Implementation and Logic Programming (PLILP'92), Springer LNCS 631, pp. 1-23, 1992
© Springer-Verlag

This paper shows the advantages of amalgamating functional and logic programming languages. In comparison with pure functional languages, an amalgamated functional logic language has more expressive power. In comparison with pure logic languages, functional logic languages have a better control behaviour. The latter will be shown by presenting methods to translate logic programs into a functional logic language with a narrowing/rewriting semantics. The translated programs produce the same set of answers and have at least the same efficiency as the original programs. But in many cases the control behaviour of the translated programs is improved. This requires the addition of further knowledge to the programs. We discuss methods for this and show the gain in efficiency by means of several examples.

DVI (88 KB) Postscript (233 KB) BibTeX-Entry