Advanced Search

Browse by Discipline

Scientific Societies

E-print Alerts

Add E-prints

E-print Network

  Advanced Search  

The Lazy Lambda Calculus Samson Abramsky

Summary: The Lazy Lambda Calculus
Samson Abramsky
Department of Computing
Imperial College of Science and Technology
March 6, 2006
1 Introduction
The commonly accepted basis for functional programming is the -calculus;
and it is folklore that the -calculus is the prototypical functional language in
purified form. But what is the -calculus? The syntax is simple and classical;
variables, abstraction and application in the pure calculus, with applied calculi
obtained by adding constants. The further elaboration of the theory, covering
conversion, reduction, theories and models, is laid out in Barendregt's already
classical treatise [Bar84]. It is instructive to recall the following crux, which
occurs rather early in that work (p. 39):
Meaning of -terms: first attempt
The meaning of a -term is its normal form (if it exists).
All terms without normal forms are identified.
This proposal incorporates such a simple and natural interpretation of the -
calculus as a programming language, that if it worked there would surely be
no doubt that it was the right one. However, it gives rise to an inconsistent


Source: Abramsky, Samson - Computing Laboratory, University of Oxford


Collections: Computer Technologies and Information Sciences