Compiling Recursive Functional Prolog Programs with List Structure into Procedural Languages
We describe methods for translating certain classes of recursive Prolog programs representing functions into ordinary, statement-oriented languages like Pascal or C. The techniques of deductive databases are applied to Prolog programs that are functional, recursive, have no side effects (such as printing values in a particular order) and whose defining rules are mutually exclusive.
KeywordsDeductive Database Prolog Program Exclusive Expression Recursive Rule Procedural Language
Unable to display preview. Download preview PDF.
- A. V. Aho and J. D. Ullman (1979): Universality of Data Retrieval Languages. ACM PODS.Google Scholar
- F. Bancilhon and R. Ramakrishnan (1986): An Amateur’s Introduction to Recursive Query Processing Strategies. ACM SIGMOD.Google Scholar
- M. Chen and L. Henschen (1985): On the Use and Internal Structure of a Logic-based Decision Support System. J. DSS 1(3), 205–219, Sept.Google Scholar
- J. Lin (1989): On Transforming of Logic Program via Variable-Dependence Analysis and Fact Propagation. Ph. D. dissertation, Dept. EECS, Northwestern Univ.Google Scholar
- C. S. Mellish (1981): The Automatic Generation of Mode Declarations for Prolog Programs. Dep. Artificial Intell., Univ. Edinburgh, DAI Res. Paper 163, Aug.Google Scholar
- Y. Nam and L. J. Henschen (1990): Compiling Linear Recursive Programs with List Structure in Prolog into Procedural Languages. Proc. COMPSAC90, Chicago, IL, Nov.Google Scholar
- Y. Nam and L. J. Henschen (1991): On Generating Efficient Procedural Codes from Linear Recursive Prolog Programs with List Structure. Proc. of Intl. Phoenix Conf. on Communications and Computers, Phoenix, AZ, March, (to appear).Google Scholar
- J. Naughton, R. Ramakrishnan, Y. Sagiv, and J. Ullman (1989): Efficient Evaluation of Right-, Left-, and Multi-linear rules. Proc. ACM SIGMOD Intl. Conf. 18(2), June.Google Scholar
- R. Reiter (1978): Deductive Question-Answering on Relational Databases. In: Gallaire and Minker, eds.: Logic and Databases. Plenum Press.Google Scholar
- N. Rowe (1988): Artificial Intelligence through Prolog. Englewood Cliffs, N. J.: Prentice-Hall.Google Scholar
- D. H. D. Warren (1977): Implementing Prolog-Compiling Predicate Logic Programs. Dep. Artificial Intell., Univ. Edinburgh, Scotland, Res. Reps. 39, 40.Google Scholar