|
ABSTRACT
This paper formalizes and proves correct a compilation scheme for mutually-recursive definitions in call-by-value functional languages. This scheme supports a wider range of recursive definitions than standard call-by-value recursive definitions. We formalize our technique as a translation scheme to a lambda-calculus featuring in-place update of memory blocks, and prove the translation to be faithful.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
M. Abadi, L. Cardelli, P.-L. Curien, and J.-J. Lévy. Explicit substitutions. Journal of Functional ProgrammingJ. Func. Progr., 1(4):375--416, 1991.
|
| |
2
|
Z. M. Ariola and S. Blom. Skew confluence and the lambda calculus with letrec. Annals of pure and applied logic, 117(1--3):95--178, 2002.
|
| |
3
|
|
| |
4
|
|
| |
5
|
G. Boudol and P. Zimmer. Recursion in the call-by-value lambda-calculus. Fixed Points in Computer ScienceFixed Points in Comp. Sc. 2002.
|
| |
6
|
|
| |
7
|
The Haskell language. http://www.haskell.org.
|
| |
8
|
|
| |
9
|
T. Hirschowitz, X. Leroy, and J. B. Wells. On the implementation of recursion in call-by-value functional languages. Research report RR-4728, INRIA, February 2003.
|
| |
10
|
T. Hirschowitz, X. Leroy, and J. B. Wells. A reduction semantics for call-by-value mixin modules. Research report RR-4682, INRIA, January 2003.
|
| |
11
|
X. Leroy, D. Doligez, J. Garrigue, D. Rémy, and J. Vouillon. The OCaml 3.06 reference manual, 2002. Available at http://caml.inria.fr/.
|
| |
12
|
X. Leroy, D. Doligez, J. Garrigue, and J. Vouillon. The Objective Caml system. Software and documentation available on the Web Logiciel et documentation disponibles sur le Web, http://caml.inria.fr/, 1996--2003.
|
| |
13
|
|
| |
14
|
|
| |
15
|
O. Waddell, D. Sarkar, and R. K. Dybvig. Robust and effective transformation of letrec. In Electronic proceedings of the 2002 Scheme Workshop, 2002. http://scheme2002.ccs.neu.edu/.
|
CITED BY 7
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Peter Sewell , Gareth Stoyle , Michael Hicks , Gavin Bierman , Keith Wansbrough, Dynamic rebinding for marshalling and update, via redex-time and destruct-time reduction, Journal of Functional Programming, v.18 n.4, p.437-502, July 2008
|
|
|
|
|