A call-by-value lambda-calculus with lists and control

Robbert Krebbers
(Radboud University Nijmegen)

Calculi with control operators have been studied to reason about control in programming languages and to interpret the computational content of classical proofs. To make these calculi into a real programming language, one should also include data types.

As a step into that direction, this paper defines a simply typed call-by-value lambda calculus with the control operators catch and throw, a data type of lists, and an operator for primitive recursion (a la Goedel's T). We prove that our system satisfies subject reduction, progress, confluence for untyped terms, and strong normalization for well-typed terms.

In Herman Geuvers and Ugo de'Liguoro: Proceedings Fourth Workshop on Classical Logic and Computation (CL&C 2012), Warwick, England, 8th July 2012, Electronic Proceedings in Theoretical Computer Science 97, pp. 19–33.
Published: 9th October 2012.

ArXived at: https://dx.doi.org/10.4204/EPTCS.97.2 bibtex PDF
References in reconstructed bibtex, XML and HTML format (approximated).
Comments and questions to: eptcs@eptcs.org
For website issues: webmaster@eptcs.org