Higher-Order and Symbolic Computation

, Volume 20, Issue 3, pp 257–270

Explaining the lazy Krivine machine using explicit substitution and addresses

Article

DOI: 10.1007/s10990-007-9013-1

Cite this article as:
Lang, F. Higher-Order Symb Comput (2007) 20: 257. doi:10.1007/s10990-007-9013-1

Abstract

In a previous paper, Benaissa, Lescanne, and Rose, have extended the weak lambda-calculus of explicit substitution λσw with addresses, so that it gives an account of the sharing implemented by lazy functional language interpreters. We show in this paper that their calculus, called λσwa, fits well to the lazy Krivine machine, which describes the core of a lazy (call-by-need) functional programming language implementation. The lazy Krivine machine implements term evaluation sharing, that is essential for efficiency of such languages. The originality of our proof is that it gives a very detailed account of the implemented strategy.

Keywords

Abstract machineCall-by-needFunctional programmingLazy evaluation

Copyright information

© Springer Science+Business Media, LLC 2007

Authors and Affiliations

  1. 1.INRIA Rhône-AlpesMontbonnotFrance