Abstract
We present an extension of λ-calculus by logical features and constraints, which yields a minimal core language for constraint functional logic programming. We define a denotational semantics based on continuation passing style. The operational semantics of our language is given as a set of reduction rules. We prove soundness of the operational semantics w.r.t. the continuation semantics. Finally, we show how pure functional logic programs can be translated to this core language in a sound way.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
E. Astesiano, G. Costa: Sharing in Nondeterminism. In 6th International Conference on Automata, Languages and Programming, LNCS 71, Springer Verlag 1979.
H.P. Barendregt. The Lambda Calculus. Its Syntax and Semantics. North Holland, 1984.
P.G. Bosco, E. Giovanetti, G. Levi, C. Palamedessi: A Complete Semantic Characterization of K-LEAF, a Logic Language with Partial Functions. In Proc. 4th Symposium on Logic Programming, San Francisco, pp. 318–327. 1987.
R.M. Burstall, J. Darlington: A Transformation System for Developing Recursive Programs. Journal of the ACM, 24(1), pp. 44–67, 1977.
J. Cohen: Constraint Logic Programming Languages. In CACM 33 (7), pp. 52–68, 1990.
A. Colmerauer: An Introduction to Prolog III. Communications of the ACM, 33 (7), pp. 52–68, 1990.
J.N. Crossley, L. Mandel, M. Wirsing: Untyped Constraint Lambda Calculus is Weakly Church Rosser, Proc. NATO-ASI Constraint Programming Summer School, Pärnu, Estonia, 1993. An extended version of this paper appears as a Research Report, Ludwig-Maximilians-Universität München, 1993.
J. Darlington, Y. Guo, H. Pull: A New Perspective in Integrating Functional and Logic Languages. Technical Report, Imperial College London, 1992.
M.J. Fay: First-Order Unification in an Equational Theory. In Proc. 4th Workshop on Automated Deduction, pp. 161–167, Austin (Texas). Academic Press, 1979.
M. Felleisen, D. Sitaram: Reasoning with Continuations II: Full Abstraction for Models of Control. In Proc ACM Conference in Lisp and Functional Programming, pp. 161–175, ACM Press, 1990.
T. Frühwirth, A. Herold, V. Küchenhoff, T. Le Provost, P. Lim, E. Monfroy, M. Wallace: Constraint Logic Programming — an Informal Introduction. Summer School in Logic Programming, Zürich, LNAI 636, pp. 3–35, Springer Verlag, 1992.
M. Hanus: Efficient Implementation of Narrowing and Rewriting. In Proc. International Workshop on Processing Declarative Knowledge, pp. 344–365. LNAI 567, Springer Verlag, 1991.
M.C.B. Hennessy, E.A. Ashcroft. A Mathematical Semantics for a Nondeterministic Typed λ-calculus. Theoretical Computer Science, 11, pp. 227–245, 1980.
P. van Hentenryck: Constraint Satisfaction in Logic Programming. MIT Press, 1989.
J. Jaffar, J.-L. Lassez: Constraint Logic Programming. In Proc. of the 14th ACM Symposium on Principles of Programming Languages, Munich (Germany), pp. 111–119. ACM Press, 1987.
J. Jaffar, S. Michaylov, P. Stuckey, R. Yap: The CLP(R) Language and System. ACM Transactions on Programming Languages and Systems, pp. 339–395, 1992.
H. Kuchen, R. Loogen, J.J. Moreno-Navarro, M. Rodriguez-Artalejo: Graphbased Implementation of a Functional Logic Language. In Proc. ESOP 90, pp. 271–290. LNCS 432, Springer Verlag, 1990.
Y. Lafont, B. Reus, Th. Streicher: From Continuation Semantics to Abstract Machines, unpublished manuscript, 1993.
H.C.R.Lock: The Implementation of Functional Logic Programming Languages, Oldenbourg-Verlag 1993.
F.J. Lopez-Fraguas: A General Scheme for Constraint Functional Logic Programming. In Proc. 3rd. International Conference on Algebraic and Logic Programming, Volterra (Italy), pp. 213–227. LNCS 632, Springer Verlag 1992.
L. Mandel, A. Mück, Th. Streicher: A New Approach to Constraint Functional Logic Programming. Forthcoming Research Report, Ludwig-Maximilians-Universität München, 1993.
D. Miller: A Logic Programming Language with Lambda Abstraction, Functional Variables and Simple Unification. Journal of Logic Programming, 1 (4), pp. 497–536, 1991.
A. Mück: Compilation of Narrowing. In Proc. of the 2nd International Workshop on Programming Language Implementation and Logic Programming, pp. 16–29. LNCS 456, Springer Verlag, 1990.
R. Paterson: A Tiny Functional Language with Logical Features, Declarative Programming, Sassbachwalden, Springer, 1991.
U.S. Reddy: Narrowing as the Operational Semantics of Functional Languages. Proc IEEE Symposium on Logic Programming, pp. 138–151, 1985.
D.H.D. Warren: An Abstract Prolog Instruction Set. Technical Note 309, SRI International, Menlo Park, California, 1993.
M. Wirsing: Algebraic Specification. In J. van Leeuwen (ed.): Handbook of Theoretical Computer Science, pp. 675–788, Elsevier Science Publishers, 1990.
D. Wolz: Design of a Compiler for Lazy Pattern Driven Narrowing. In Recent Trends in Data Type Specifications, pp. 362–379. LNCS 543, Springer Verlag, 1990.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1994 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Mück, A., Streicher, T., Lock, H.C.R. (1994). A tiny constraint functional logic language and its continuation semantics. In: Sannella, D. (eds) Programming Languages and Systems — ESOP '94. ESOP 1994. Lecture Notes in Computer Science, vol 788. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-57880-3_29
Download citation
DOI: https://doi.org/10.1007/3-540-57880-3_29
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-57880-2
Online ISBN: 978-3-540-48376-2
eBook Packages: Springer Book Archive