Abstract
We present two variants of the Krivine abstract machine that reduce lambda-terms to full normal form. We give a proof of their correctness by interpreting their behaviour in the λ σ-calculus.
Similar content being viewed by others
References
Abadi, M., Cardelli, L., Curien, P.-L., Lévy, J.-J.: Explicit substitution. In: ACM Symposium on Principles of Programming Languages (POPL) (1990)
Ager, M., Biernacki, D., Danvy, O., Midtgaard, J.: A functional correspondance between evaluators and abstract machines. In: PPDP’03 Proceedings of the 5th ACM Sigplan International Conference on Principle and Practice of Declarative Programming, pp. 8–19 (2003)
Argo, G.: Improving the three instruction machine. In: The Fourth International Conference on Functional Programming Languages and Computer Architecture, London (1989)
Asperti, A.: Linear logic, comonads and optimal reductions. Fund. Inf. 22(1), 3–22 (1994)
Asperti, A., Mairson, H.: Parallel beta reduction is not elementary recursive. In: ACM Symposium on Principles of Programming Languages, pp. 303–315 (1998)
Barendregt, H.: The type free λ-calculus. In: Handbook of Mathematical Logic, pp. 1091–1132. North-Holland, Amsterdam (1977), Chap. D.7
Barendregt, H.: The Lambda Calculus. North-Holland, Amsterdam (1981)
Barras, B.: Efficient reduction functions in Coq (1998). Unpublished note available at http://pauillac.inria.fr/~barras/reduction
Crégut, P.: An abstract machine for the normalization of λ-terms. In: ACM Lisp and Functional Programming Conference (1990)
Crégut, P.: Machines à environnement pour la réduction symbolique et l’évaluation partielle. Ph.D. Thesis, Université Paris VII (1991)
Curien, P.-L., Hardin, T., Lévy, J.-J.: Confluence properties of weak and strong calculi of explicit substitutions. J. ACM 42(2), 362–391 (1996)
Fairbairn, J., Wray, S.: TIM: a simple, lazy, abstract machine to execute supercombinators. In: Conference on Functional Programming and Computer Architecture, Portland (1987)
Glauert, J.R., Kennaway, R., Papadopoulos, G., Sleep, R.: DACTL, an experimental graph rewriting language. In: Ehrig, H., Kreowsky, H., Rozenberg, G. (eds.) Graph Grammars and Their Application to Computer Science, pp. 378–395 (1991)
Gontier, G., Abadi, M., Lévy, J.-J.: The geometry of optimal reduction. In: ACM Symposium on Principles of Programming Languages, pp. 15–26 (1992)
Grégoire, B., Leroy, X.: A compiled implementation of strong reduction. In: International Conference on Functional Programming (ICFP’02) (2002)
Hardin, T., Maranget, L., Paganot, B.: Functional runtimes within the lambda-sigma calculus. J. Funct. Program. 8(2), 131–176 (1998)
Krivine, J.-L.: A call-by-name lambda-calculus machine. Higher Order Symb. Comput. (2007, this volume)
Lamping, J.: An algorithm for optimal lambda calculus reduction. In: ACM Symposium on Principles of Programming Languages (POPL) (1990)
Leroy, X.: The ZINC experiment: an economical implementation of the ML language. Technical Report 117, INRIA (1990)
Lévy, J.-J.: Optimal reductions in the lambda-calculus. In: Seldin, J., Hindley, J. (eds.) To H.B. Curry: Essays in Combinatory Logic, Lambda Calculus and Formalism, pp. 159–191 (1980)
Sestoft, P.: Analysis and efficient implementation of functional programs. Ph.D. Thesis, University of Copenhagen, DIKU research report 92/6 (1991)
Author information
Authors and Affiliations
Corresponding author
Additional information
This article is an extended version of a paper presented at the ‘Lisp and Functional Programming’ Conference in 1990 and the work was done at Ecole Normale Supérieure between 1989 and 1991.
Rights and permissions
About this article
Cite this article
Crégut, P. Strongly reducing variants of the Krivine abstract machine. Higher-Order Symb Comput 20, 209–230 (2007). https://doi.org/10.1007/s10990-007-9015-z
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10990-007-9015-z