Skip to main content
Log in

Strongly reducing variants of the Krivine abstract machine

  • Published:
Higher-Order and Symbolic Computation

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  1. Abadi, M., Cardelli, L., Curien, P.-L., Lévy, J.-J.: Explicit substitution. In: ACM Symposium on Principles of Programming Languages (POPL) (1990)

  2. 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)

  3. Argo, G.: Improving the three instruction machine. In: The Fourth International Conference on Functional Programming Languages and Computer Architecture, London (1989)

  4. Asperti, A.: Linear logic, comonads and optimal reductions. Fund. Inf. 22(1), 3–22 (1994)

    MathSciNet  Google Scholar 

  5. Asperti, A., Mairson, H.: Parallel beta reduction is not elementary recursive. In: ACM Symposium on Principles of Programming Languages, pp. 303–315 (1998)

  6. Barendregt, H.: The type free λ-calculus. In: Handbook of Mathematical Logic, pp. 1091–1132. North-Holland, Amsterdam (1977), Chap. D.7

  7. Barendregt, H.: The Lambda Calculus. North-Holland, Amsterdam (1981)

    MATH  Google Scholar 

  8. Barras, B.: Efficient reduction functions in Coq (1998). Unpublished note available at http://pauillac.inria.fr/~barras/reduction

  9. Crégut, P.: An abstract machine for the normalization of λ-terms. In: ACM Lisp and Functional Programming Conference (1990)

  10. Crégut, P.: Machines à environnement pour la réduction symbolique et l’évaluation partielle. Ph.D. Thesis, Université Paris VII (1991)

  11. 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)

    Google Scholar 

  12. Fairbairn, J., Wray, S.: TIM: a simple, lazy, abstract machine to execute supercombinators. In: Conference on Functional Programming and Computer Architecture, Portland (1987)

  13. 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)

  14. 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)

  15. Grégoire, B., Leroy, X.: A compiled implementation of strong reduction. In: International Conference on Functional Programming (ICFP’02) (2002)

  16. Hardin, T., Maranget, L., Paganot, B.: Functional runtimes within the lambda-sigma calculus. J. Funct. Program. 8(2), 131–176 (1998)

    Article  MATH  Google Scholar 

  17. Krivine, J.-L.: A call-by-name lambda-calculus machine. Higher Order Symb. Comput. (2007, this volume)

  18. Lamping, J.: An algorithm for optimal lambda calculus reduction. In: ACM Symposium on Principles of Programming Languages (POPL) (1990)

  19. Leroy, X.: The ZINC experiment: an economical implementation of the ML language. Technical Report 117, INRIA (1990)

  20. 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)

  21. Sestoft, P.: Analysis and efficient implementation of functional programs. Ph.D. Thesis, University of Copenhagen, DIKU research report 92/6 (1991)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Pierre Crégut.

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

Reprints 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

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10990-007-9015-z

Keywords

Navigation