Skip to main content

Compiling Recursive Functional Prolog Programs with List Structure into Procedural Languages

  • Chapter
Automated Reasoning

Part of the book series: Automated Reasoning Series ((ARSE,volume 1))

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

eBook
USD 16.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. A. V. Aho and J. D. Ullman (1979): Universality of Data Retrieval Languages. ACM PODS.

    Google Scholar 

  2. F. Bancilhon and R. Ramakrishnan (1986): An Amateur’s Introduction to Recursive Query Processing Strategies. ACM SIGMOD.

    Google Scholar 

  3. 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 

  4. W. Clocksin and C. Mellish (1981): Programming in Prolog. SpringerVerlag.

    MATH  Google Scholar 

  5. S. K. Debray and P. Mishra (1988): Denotational and Operational Semantics for Prolog. J. Logic Program. 5(1), 61–91, Mar.

    Article  MathSciNet  MATH  Google Scholar 

  6. S. K. Debray and D. S. Warren (1990): Towards Banishing the Cut from Prolog. IEEE Trans. Software Eng. 16, 335–349, Mar.

    Article  MathSciNet  Google Scholar 

  7. L. Henschen and S. Naqvi (1984): On Compiling Queries in Recursive First-order Databases. J. ACM 31(1) 47–86.

    Article  MathSciNet  MATH  Google Scholar 

  8. J. Lin (1989): On Transforming of Logic Program via Variable-Dependence Analysis and Fact Propagation. Ph. D. dissertation, Dept. EECS, Northwestern Univ.

    Google Scholar 

  9. 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 

  10. 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 

  11. 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 

  12. 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 

  13. R. Reiter (1978): Deductive Question-Answering on Relational Databases. In: Gallaire and Minker, eds.: Logic and Databases. Plenum Press.

    Google Scholar 

  14. N. Rowe (1988): Artificial Intelligence through Prolog. Englewood Cliffs, N. J.: Prentice-Hall.

    Google Scholar 

  15. D. Troy, C. Yu, and W. Zhang (1989): Linearization of Nonlinear Recursive Rules. IEEE Trans. Software Eng. 15, 1109–1119, Sept.

    Article  MathSciNet  Google Scholar 

  16. D. H. D. Warren (1977): Implementing Prolog-Compiling Predicate Logic Programs. Dep. Artificial Intell., Univ. Edinburgh, Scotland, Res. Reps. 39, 40.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics