Explaining the lazy Krivine machine using explicit substitution and addresses
- First Online:
- 85 Downloads
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.
KeywordsAbstract machine Call-by-need Functional programming Lazy evaluation
Unable to display preview. Download preview PDF.