Thunks and the lambda-Calculus (Extended Version)
BRICS Report Series
View Archive InfoField | Value | |
Title |
Thunks and the lambda-Calculus (Extended Version)
|
|
Creator |
Hatcliff, John
Danvy, Olivier |
|
Description |
Plotkin, in his seminal article Call-by-name, call-by-value and the lambda-calculus, formalized evaluation strategies and simulations using operational semantics and continuations. In particular, he showed howcall-by-name evaluation could be simulated under call-by-value evaluation and vice versa. Since Algol 60, however, call-by-name is both implemented and simulated with thunks rather than with continuations. We recast this folk theorem in Plotkin's setting, and show that thunks, even though they are simpler than continuations, are sufficient for establishing all the correctness properties of Plotkin's call-by-name simulation.Furthermore, we establish a new relationship between Plotkin's two continuation-based simulations Cn and Cv, by deriving Cn as the composition of our thunk-based simulation T and of Cv^+ - an extension of Cv handling thunks. Almost all of the correctness properties of Cn follow from the properties of T and Cv^+ . This simplifies reasoning about call-by-name continuation-passing style. We also give several applications involving factoring continuation-based transformations using thunks.
|
|
Publisher |
Aarhus University
|
|
Date |
1997-01-07
|
|
Type |
info:eu-repo/semantics/article
info:eu-repo/semantics/publishedVersion |
|
Format |
application/pdf
|
|
Identifier |
https://tidsskrift.dk/brics/article/view/18797
10.7146/brics.v4i7.18797 |
|
Source |
BRICS Report Series; No 7 (1997): RS-07 Thunks and the lambda-Calculus (Extended Version)
BRICS Report Series; Nr. 7 (1997): RS-07 Thunks and the lambda-Calculus (Extended Version) 1601-5355 0909-0878 |
|
Language |
eng
|
|
Relation |
https://tidsskrift.dk/brics/article/view/18797/16442
|
|