Abstract
A new declarative programming paradigm, constraint functional logic programming (CFLP) is presented, which unifies systematically all features of constraint, functional and logic programming. CFLP extends constraint functional programming (CFP), which supports equation solving over a functional program, to general constraint programming permitting the use of constraints for programming as well as for posing queries. It also generalises constraint logic programming (CLP), by admitting user-defined functions as a purely functional subsystem of a CLP language. This paper presents the motivation for designing CFLP and its semantics. Programming examples are given in the concrete CFLP language Falcon.
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
H. Ait-Kaci and R. Nast. Integrating logic and functional programming. Lisp and Symbolic Computation, 2 (1), February 1989.
A. Colmerauer. Prolog and infinite trees. In K.L. Clark and S.A. Tarnlund. editors, Logic Programming. Academic Press, New Yok, 1982.
A. Colmerauer. Opening the Prolog III universe. Byte, July, 1987.
Haskell Committee. Haskell: A non-strict, purely functional language. Technical report, Dept. of Computer Science, Yale University. April 1990.
J. Darlington and Y. Guo. Constraint equational deduction. Technical report. Dept. of Computing, Imperial College. March 1990. will he presented in CTRS’ 90.
J. Darlington. Y.K. Guo, and II. Pull. The design of constraint functional logic programming. Technical report. Dept. of Computing, Imperial College. March 1991. Deliverable for the ESPRIT Basic Research Action No.3147.
John Darlington and Yike Guo. Constraint functional programming. Technical report, Imperial College. November 1989.
C. Moiso E. Giovannetti. G. Levi and C. Palmidessi. “kernel leaf: An” experimental logic plus functional language - its syntax, semantics and computational model. ESPRIT Project 415, Second Year Report, 1986.
plus functional language
Y. Guo, H. Lock, J. Darlington, and R. Dietrich. A classification for the integration of functional and logic languages. Technical report, Dept. of Computing, Imperial College and GMD Forchungsstelle an der Universitat Karlsruhe, March 1990. Deliverable for the ESPRIT Basic Research Action No.3147.
Y.K. Guo and H. Pull. Falcon: Functional And Logic language with CONonstraints—language definition. Technical report, Dept. of Computing, Imperial College, February 1991.
G. Huet. Constrained Resolution: A Complete Method for Higher-Order Logic. PhD thesis. Case Western Reserve University, 1972.
Joxan Jaffar and Jean-Louis Lassez. Constraint logic programming. In Prod. of POPL 87. pages 111–119. 1987.
Richard B. Kieburtz. Functional+ logic in theory and practice. Technical report. Oregon Graduate Center, Beaverton, Oregon 97006 U.S.A., February 1987.
J-L. Lassez and K. McAloon. A constraint sequent calculus. Technical report, IBM T.J. Watson Research Center, 1989.
William Leler. Specification and Generation of Constraint Satisfaction Systems. PhD thesis, The University of North Carolina at Chapel Hill, February 1987.
Hendrik C.R. Lock. Guarded Term ML. In Workshop on Implementations of Lazy Functional Languages, Aspenas,Sweden, Sept. 1988.
Gopalan Nadathur and Dale Miller. An overview of A-Prolog. Technical report, Computer and Information Science Department, Univ. of Pennsylvania, March 1988.
Helen M. Pull. Equation Solving in Lazy Functional Languages. PhD thesis, Submitted to Dept. of Computing, Imperial College, University of London, November 1990.
Uday S. Reddy. Functional Logic Languages, Part 1. In J.H. Fasel and R.M. Keller. editors, Poceedings of a Workshop on Graph Reduction, Santa Fee, number 279 in Lecture Notes in Computer Science, Springer Verlag, pages 401–425, 1986.
Frank S. K. Silbermann and B. Jayazraman. Set abstraction in functional and logic programming. In Proc. of FPCA 89’. 1989.
Gert Smolka. Logic Programming over Polymorphically Order-Sorted Types. PhD thesis. Vom Fachbereich Informatik der Universitat Kaiserlautern, May 1989.
G.L. Steele. The Definition and Implementation of a Computer Programming Language Based on Constraints. PhD thesis, M.I.T. AI-TR 595, 1980.
D.H.D. Warren. Higher-order extension to Prolog: are they needed? In Machine Intelligence 10. Ellis Horwood Ltd., 1982.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1992 Springer-Verlag London
About this paper
Cite this paper
Darlington, J., Guo, Y., Pull, H. (1992). Introducing Constraint Functional Logic Programming. In: Darlington, J., Dietrich, R. (eds) Declarative Programming, Sasbachwalden 1991. Workshops in Computing. Springer, London. https://doi.org/10.1007/978-1-4471-3794-8_2
Download citation
DOI: https://doi.org/10.1007/978-1-4471-3794-8_2
Publisher Name: Springer, London
Print ISBN: 978-3-540-19735-5
Online ISBN: 978-1-4471-3794-8
eBook Packages: Springer Book Archive