Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
A. V. Aho and J. D. Ullman (1979): Universality of Data Retrieval Languages. ACM PODS.
F. Bancilhon and R. Ramakrishnan (1986): An Amateur’s Introduction to Recursive Query Processing Strategies. ACM SIGMOD.
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.
W. Clocksin and C. Mellish (1981): Programming in Prolog. SpringerVerlag.
S. K. Debray and P. Mishra (1988): Denotational and Operational Semantics for Prolog. J. Logic Program. 5(1), 61–91, Mar.
S. K. Debray and D. S. Warren (1990): Towards Banishing the Cut from Prolog. IEEE Trans. Software Eng. 16, 335–349, Mar.
L. Henschen and S. Naqvi (1984): On Compiling Queries in Recursive First-order Databases. J. ACM 31(1) 47–86.
J. Lin (1989): On Transforming of Logic Program via Variable-Dependence Analysis and Fact Propagation. Ph. D. dissertation, Dept. EECS, Northwestern Univ.
C. S. Mellish (1981): The Automatic Generation of Mode Declarations for Prolog Programs. Dep. Artificial Intell., Univ. Edinburgh, DAI Res. Paper 163, Aug.
Y. Nam and L. J. Henschen (1990): Compiling Linear Recursive Programs with List Structure in Prolog into Procedural Languages. Proc. COMPSAC90, Chicago, IL, Nov.
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).
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.
R. Reiter (1978): Deductive Question-Answering on Relational Databases. In: Gallaire and Minker, eds.: Logic and Databases. Plenum Press.
N. Rowe (1988): Artificial Intelligence through Prolog. Englewood Cliffs, N. J.: Prentice-Hall.
D. Troy, C. Yu, and W. Zhang (1989): Linearization of Nonlinear Recursive Rules. IEEE Trans. Software Eng. 15, 1109–1119, Sept.
D. H. D. Warren (1977): Implementing Prolog-Compiling Predicate Logic Programs. Dep. Artificial Intell., Univ. Edinburgh, Scotland, Res. Reps. 39, 40.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1991 Springer Science+Business Media Dordrecht
About this chapter
Cite this chapter
Nam, Y.K., Henschen, L.J. (1991). Compiling Recursive Functional Prolog Programs with List Structure into Procedural Languages. In: Boyer, R.S. (eds) Automated Reasoning. Automated Reasoning Series, vol 1. Springer, Dordrecht. https://doi.org/10.1007/978-94-011-3488-0_10
Download citation
DOI: https://doi.org/10.1007/978-94-011-3488-0_10
Publisher Name: Springer, Dordrecht
Print ISBN: 978-94-010-5542-0
Online ISBN: 978-94-011-3488-0
eBook Packages: Springer Book Archive