Skip to main content

Functional logic languages part I

  • Relationship To Logic Programming
  • Conference paper
  • First Online:
Graph Reduction (GR 1986)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 279))

Included in the following conference series:

Abstract

Functional logic languages are extensions of functional languages with principles derived from logic programming. While syntactically they look similar to conventional functional languages, their operational semantics is based on narrowing, an evaluation mechanism that uses unification for parameter passing. We present here a small formal language based on lambda calculus with existential quantification and set abstraction, and define its denotational and narrowing semantics.

Preliminary Report

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. R. M. Burstall, D. B. MacQueen, and D. T. Sanella. Hope: an experimental applicative language. In ACM LISP Conference, pages 136–143, 1980.

    Google Scholar 

  2. A. Colmerauer, H. Kanouri, R. Pasero, and P. Roussel. Un Systeme de Communication Homme-machine en Francais. Research Report, Groupe Intelligence Artificielle, Universite Aix-Marseille II, 1973.

    Google Scholar 

  3. W. F. Clocksin and C. S. Mellish. Programming in Prolog. Springer-Verlag, 1981.

    Google Scholar 

  4. J. Darlington, A. J. Field, and H. Pull. The unification of functional and logic languages. In D. DeGroot and G. Lindstrom, editors, Logic Programming: Functions, Relations and Equations, pages 37–70, Prentice-Hall, 1986.

    Google Scholar 

  5. M. Fay. First-order unification in an equational theory. In Fourth Workshop on Automated Deduction, pages 161–167, Austin, Texas, 1979.

    Google Scholar 

  6. J-M. Hullot. Canonical forms and unification. In Conference on Automated Deduction, pages 318–334, 1980.

    Google Scholar 

  7. R. A. Kowalski. Logic for Problem Solving. North-Holland, 1979.

    Google Scholar 

  8. R. Kowalski. Logic programming. In R. E. A. Mason, editor, Information Processing, pages 133–145, North-Holland, 1983.

    Google Scholar 

  9. G. Lindstrom. Functional programming and the logical variable. In ACM Symposium on Principles of Programming Languages, 1985.

    Google Scholar 

  10. R. Milner. A theory of type polymorphism in programming. Journal of Computer and System Sciences, 17:348–375, 1978.

    Article  Google Scholar 

  11. R Milner. A proposal for Standard ML. In ACM Symposium on LISP and Functional Programming, pages 184–197, 1984.

    Google Scholar 

  12. R.S. Nikhil, K. Pingali, and Arvind. Id Nouveau. Technical Report CSG 265, MIT, 1986.

    Google Scholar 

  13. U. S. Reddy. Narrowing as the operational semantics of functional languages. In Symposium on Logic Programming, IEEE, Boston, 1985.

    Google Scholar 

  14. U. S. Reddy. On the relationship between logic and functional languages. In D. DeGroot and G. Lindstrom, editors, Logic Programming: Functions, Relations and Equations, pages 3–36, Prentice-Hall, 1986.

    Google Scholar 

  15. U.S. Reddy. Logic Languages based on Functions: Semantics and Implementation. Technical Report UIUCDCS-R-86-1305, University of Illinois at Urbana-Champaign, 1986. Ph.D. thesis done at University of Utah.

    Google Scholar 

  16. J.R. Slagle. Automated theorem-proving for theories with simplifiers, commutativity and associativity. Journal of the ACM, 21(4):622–642, 1974.

    Article  Google Scholar 

  17. G. Smolka. Fresh: a higher-order language based on unification. In D. DeGroot and G. Lindstrom, editors, Logic Programming: Functions, Relations and Equations, pages 469–524, Prentice-Hall, 1986.

    Google Scholar 

  18. M. Sato and T. Sakurai. Qute: a functional language based on unification. In Intl. Conf. Fifth Generation Computer Systems, pages 157–165, ICOT, 1984.

    Google Scholar 

  19. D.A Turner. The semantic elegance of applicative languages. In Proceedings of the 1981 conference on Functional Programming Languages and Computer Architecture, pages 85–92, ACM, 1981.

    Google Scholar 

  20. D.A. Turner. Miranda: a non-strict functional language with polymorphic types. In J-P. Jouannaud, editor, Functional Programming Languages and Computer Architecture, pages 1–16, Springer-Verlag, 1985.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Joseph H. Fasel Robert M. Keller

Rights and permissions

Reprints and permissions

Copyright information

© 1987 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Reddy, U.S. (1987). Functional logic languages part I. In: Fasel, J.H., Keller, R.M. (eds) Graph Reduction. GR 1986. Lecture Notes in Computer Science, vol 279. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-18420-1_68

Download citation

  • DOI: https://doi.org/10.1007/3-540-18420-1_68

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-18420-1

  • Online ISBN: 978-3-540-47963-5

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics