Abstract
Lambda Calculus is commonly thought to be the basis for functional programming. However, there is a fundamental mismatch between the “standard” theory of sensible Lambda Calculus and the practice of lazy evaluation which is a distinctive feature of functional programming. This paper proposes modification of a number of key notions in the sensible theory along the lines of laziness. Starting from the strongly unsolvables as the meaningless terms, we define and investigate properties of lazy (or weakly sensible) λ-theories, lazy λ-models and a number of lazy behavioural preorders on λ-terms. In the second part, we show that all these notions have a natural place in a class of lazy PSE-models. A major result of this paper is a new local structure theorem for lazy PSE-models. This characterizes the ordering between denotations of λ-terms in the model by a new lazy behavioural preorder.
Preview
Unable to display preview. Download preview PDF.
References
S. Abramsky. The lazy lambda calculus. In David Turner, editor, Research Topics in Functional Programming, Addison-Wesley, 1989.
S. Abramsky and C.-H. L. Ong. Full abstraction in the lazy lambda calculus. Information and Computation, 105 pp., 1992. To Appear.
H. P. Barendregt. The Lambda Calculus: Its Syntax and Semantics. North-Holland, revised edition, 1984.
H. Barendregt and G. Longo. Equality of λ-terms in the model 498-01. In To H. B. Curry: Essays on Combinatory Logic, Lambda Calculus and Formalism, Academic Press, 1980.
E. Engeler. Algebras and combinators. Algebra Universalis, 13:389–392, 1981.
J. M. E. Hyland. A syntactic characterization of the equality in some models of the lambda calculus. J. London Math. Soc. (2), 12:361–370, 1976.
G. Longo. Set-theoretical models of lambda calculus: theories, expansions and isomorphisms. Annals of Pure and Applied Logic, 24:153–188, 1983.
C.-H. L. Ong. Fully abstract models of the lazy lambda calculus. In Proc. 29th Conf. Foundations of Computer Science, pages 368–376, IEEE Computer Society Press, 1988.
C.-H. L. Ong. The Lazy Lambda Calculus: An Investigation into the Foundations of Functional Programming. PhD thesis, University of London, 1988.
C.-H. L. Ong. The concurrent lambda calculus 1: a general pre-congruence theorem for applicative bisimulation, 1992. Unpublished Manuscipt, 27pp.
S. L. Peyton Jones. The Implementation of Functional Programming Languages. Prentice-Hall, 1987.
G. D. Plotkin. A Set-Theoretical Definition of Application. Technical Report MIP-R-95, School of A.I., Univ. of Edinburgh, 1972
G. D. Plotkin. \(\mathbb{T}^\omega\)as a universal domain. J. Computer and System Sciences, 17:209–236, 1978.
D. S. Scott. Continuous lattices. In F. W. Lawvere, editor, Toposes, Algebraic Geometry and Logic, pages 97–136, Springer-Verlag, Berlin, 1972. Lecture Note in Mathematics 274.
D. S. Scott. Data types as lattices. SIAM J. Computing, 5:522–587, 1976.
Author information
Authors and Affiliations
Corresponding author
Editor information
Rights and permissions
Copyright information
© 1992 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Ong, C.H.L. (1992). Lazy Lambda calculus: Theories, models and local structure characterization. In: Kuich, W. (eds) Automata, Languages and Programming. ICALP 1992. Lecture Notes in Computer Science, vol 623. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-55719-9_98
Download citation
DOI: https://doi.org/10.1007/3-540-55719-9_98
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-55719-7
Online ISBN: 978-3-540-47278-0
eBook Packages: Springer Book Archive