|
ABSTRACT
Motivated by applications to proof assistants based on dependent types, we develop and prove correct a strong reducer and ß-equivalence checker for the λ-calculus with products, sums, and guarded fixpoints. Our approach is based on compilation to the bytecode of an abstract machine performing weak reductions on non-closed terms, derived with minimal modifications from the ZAM machine used in the Objective Caml bytecode interpreter, and complemented by a recursive "read back" procedure. An implementation in the Coq proof assistant demonstrates important speed-ups compared with the original interpreter-based implementation of strong reduction in Coq.
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
|
|
| |
2
|
K. Appel and W. Haken. Every planar map is four colorable. Illinois J. Math, 21:429--567, 1977.
|
| |
3
|
B. Barras. Auto-validation d'un système de preuves avec familles inductives. PhD thesis, University Paris~7, 1999.
|
| |
4
|
|
| |
5
|
B. Barras and B. Werner. Coq in Coq. Submitted for publication, 2000.
|
| |
6
|
U. Berger and H. Schwichtenberg. An inverse of the evaluation functional for typed λ-calculus. In Logic in Computer Science '91, pages 203--211. IEEE Computer Society Press, 1991.
|
| |
7
|
|
| |
8
|
|
 |
9
|
|
| |
10
|
P. Crégut. Machines à environnement pour la réduction symbolique et l'évaluation partielle. PhD thesis, University Paris 7, 1991.
|
 |
11
|
|
| |
12
|
O. Danvy. Online type-directed partial evaluation. Technical Report RS-97-53, BRICS, 1997.
|
| |
13
|
|
 |
14
|
|
| |
15
|
|
| |
16
|
X. Leroy. The ZINC experiment: an economical implementation of the ML language. Technical report 117, INRIA, 1990.
|
| |
17
|
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--2002.
|
| |
18
|
A. Miquel. Le Calcul des Constructions implicite: syntaxe et sémantique. PhD thesis, University Paris 7, 2001.
|
| |
19
|
|
| |
20
|
S. L. Peyton Jones. Implementing lazy functional languages on stock hardware: the spineless tagless G-machine. Journal of Functional Programming, 2(2):127--202, 1992.
|
| |
21
|
|
| |
22
|
E. Sumii and N. Kobayashi. Online type-directed partial evaluation for dynamically-typed languages. Computer Software, 17(3):38--62, 2000. Iwanami Shoten.
|
| |
23
|
|
| |
24
|
R. Vestergaard. The polymorphic type theory of normalisation by evaluation. Draft, 2001.
|
CITED BY 12
|
|
Mads Sig Ager , Olivier Danvy , Mayer Goldberg, A symmetric approach to compilation and decompilation, The essence of computation: complexity, analysis, transformation, Springer-Verlag New York, Inc., New York, NY, 2002
|
|
|
Mads Sig Ager , Dariusz Biernacki , Olivier Danvy , Jan Midtgaard, A functional correspondence between evaluators and abstract machines, Proceedings of the 5th ACM SIGPLAN international conference on Principles and practice of declaritive programming, p.8-19, August 27-29, 2003, Uppsala, Sweden
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|