2007
DOI: 10.1007/s10990-007-9013-1
|View full text |Cite
|
Sign up to set email alerts
|

Explaining the lazy Krivine machine using explicit substitution and addresses

Abstract: 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 λσ a w , 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 essentia… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1

Citation Types

0
6
0

Year Published

2014
2014
2020
2020

Publication Types

Select...
4
2
1

Relationship

0
7

Authors

Journals

citations
Cited by 8 publications
(6 citation statements)
references
References 22 publications
(31 reference statements)
0
6
0
Order By: Relevance
“…The λ [lvτ ⋆] -calculus. Since the call-by-need evaluation strategy imposes to share the evaluation of arguments across all the places where thay are need, abstract machines implementing it require a form of global memory [65,14,46,1]. In order to obtain such an abstract machine from the λ lv -calculus, Ariola et al first define the λ [lvτ ⋆] -calculus, which is reformulation of the former using explicit environments.…”
Section: 2mentioning
confidence: 99%
“…The λ [lvτ ⋆] -calculus. Since the call-by-need evaluation strategy imposes to share the evaluation of arguments across all the places where thay are need, abstract machines implementing it require a form of global memory [65,14,46,1]. In order to obtain such an abstract machine from the λ lv -calculus, Ariola et al first define the λ [lvτ ⋆] -calculus, which is reformulation of the former using explicit environments.…”
Section: 2mentioning
confidence: 99%
“…Such a structure resemble to a tree whose nodes are decorated by terms, as opposed to a machinery allowing sharing (like ours) whose underlying structure is broadly a directed acyclic graph. See for instance [24] for a Krivine abstract machine with sharing.…”
Section: Explicit Environmentsmentioning
confidence: 99%
“…Instead, lazy evaluation strategies require abstract machines with a global environment [3,33]. Such machines demand in particular to explicitly handle addresses (as in the Lazy Krivine [21]) or a renaming process (as in the Milner Abstract Machine [2]).…”
Section: Introductionmentioning
confidence: 99%