Download:
|
by Zino Benaissa, Pierre Lescanne
In Proc. of WPAM’98, as Technical Report of the University of SaarBruck, number A 02/98
http://www.ens-lyon.fr/~flang/Biblio/superc.ps.gz
Add To MetaCart
Abstract:
Abstract. We propose abstract machines for lazy functional programming languages, based on the Krivine machine, and initially designed for eliding the creation of useless closures. We introduce the notion of super-closure, a data structure representing a list of closures in a compact way. We give four machines: the rst three of them implement call by name. They illustrate a basic issue not directly related to sharing, namely splitting, and two possible solutions to this problem. Then, we give the proofs of correctness of these machines, using a weak -calculus with explicit substitution. Finally, we propose a machine implementing call by need and claim that it is correct w.r.t. the call-by-need strategy of environment machines. However, we also show that against our naive expections, our system has many
Citations
|
251
|
Call-by-name, call-by-value and the *-calculus
– Plotkin
- 1975
|
|
183
|
The lambda calculus, its syntax and semantics. Revised edition edn
– Barendregt
- 1984
|
|
148
|
A natural semantics for lazy evaluation
– Launchbury
- 1993
|
|
49
|
An Abstract Framework for Environment Machines
– Curien
- 1991
|
|
48
|
Deriving a Lazy Abstract Machine
– Sestoft
- 1997
|
|
39
|
Tim: A Simple, Lazy Abstract Machine to Execute Supercombinators
– Fairbairn, Wray
- 1987
|
|
24
|
Modeling sharing and recursion for weak reduction strategies using explicit substitution
– Benaissa, Lescanne, et al.
- 1996
|
|
21
|
Typage polymorphe d'un langage algorithmique
– Leroy
- 1992
|
|
18
|
Functional Back-Ends within the Lambda-Sigma Calculus
– Hardin, Maranget, et al.
- 1996
|
|
16
|
Lambda calculus with nameless dummies, a tool for automatic formula manipulation, with application to the Church-Rosser theorem
– Bruijn
- 1972
|
|
16
|
Machines à environnement pour la réduction symbolique et l’évaluation partielle. Thèse de l’université de Paris VII
– Crégut
- 1991
|
|
7
|
Avoiding unnecessary updates
– Launchbury, Gill, et al.
- 1992
|
|
6
|
Implementing lazy functional programming languages on stock hardware: the spineless tagless G-machine
– Jones, L
- 1992
|
|
4
|
Les calculs de substitutions explicites comme fondement de l'implantation des langages fonctionnels
– Benaissa
- 1997
|
|
4
|
An abstract machine for the normalization of -calculus
– Cr'egut
- 1990
|
|
1
|
Un interpreteur pour le -calcul. Notes de cours de DEA (Master lecture notes). Universite de Paris 7
– Krivine
- 1985
|