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
Preview
Unable to display preview. Download preview PDF.
References
R. M. Burstall, D. B. MacQueen, and D. T. Sanella. Hope: an experimental applicative language. In ACM LISP Conference, pages 136–143, 1980.
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.
W. F. Clocksin and C. S. Mellish. Programming in Prolog. Springer-Verlag, 1981.
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.
M. Fay. First-order unification in an equational theory. In Fourth Workshop on Automated Deduction, pages 161–167, Austin, Texas, 1979.
J-M. Hullot. Canonical forms and unification. In Conference on Automated Deduction, pages 318–334, 1980.
R. A. Kowalski. Logic for Problem Solving. North-Holland, 1979.
R. Kowalski. Logic programming. In R. E. A. Mason, editor, Information Processing, pages 133–145, North-Holland, 1983.
G. Lindstrom. Functional programming and the logical variable. In ACM Symposium on Principles of Programming Languages, 1985.
R. Milner. A theory of type polymorphism in programming. Journal of Computer and System Sciences, 17:348–375, 1978.
R Milner. A proposal for Standard ML. In ACM Symposium on LISP and Functional Programming, pages 184–197, 1984.
R.S. Nikhil, K. Pingali, and Arvind. Id Nouveau. Technical Report CSG 265, MIT, 1986.
U. S. Reddy. Narrowing as the operational semantics of functional languages. In Symposium on Logic Programming, IEEE, Boston, 1985.
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.
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.
J.R. Slagle. Automated theorem-proving for theories with simplifiers, commutativity and associativity. Journal of the ACM, 21(4):622–642, 1974.
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.
M. Sato and T. Sakurai. Qute: a functional language based on unification. In Intl. Conf. Fifth Generation Computer Systems, pages 157–165, ICOT, 1984.
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.
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.
Author information
Authors and Affiliations
Editor information
Rights 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