Higher-Order and Symbolic Computation

, Volume 20, Issue 3, pp 257–270

Explaining the lazy Krivine machine using explicit substitution and addresses



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.


Abstract machine Call-by-need Functional programming Lazy evaluation 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Copyright information

© Springer Science+Business Media, LLC 2007

Authors and Affiliations

  1. 1.INRIA Rhône-AlpesMontbonnotFrance

Personalised recommendations