skip to main content
10.1145/581478.581501acmconferencesArticle/Chapter ViewAbstractPublication PagesicfpConference Proceedingsconference-collections
Article

A compiled implementation of strong reduction

Published:17 September 2002Publication History

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

  1. A. W. Appel. Compiling with continuations. Cambridge University Press, 1992.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. K. Appel and W. Haken. Every planar map is four colorable. Illinois J. Math, 21:429--567, 1977.]]Google ScholarGoogle ScholarCross RefCross Ref
  3. B. Barras. Auto-validation d'un système de preuves avec familles inductives. PhD thesis, University Paris~7, 1999.]]Google ScholarGoogle Scholar
  4. B. Barras. Programming and computing in HOL. In Theorem Proving in Higher Order Logics 2000, volume 1869 of LNCS, pages 17--37. Springer-Verlag, 2000.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. B. Barras and B. Werner. Coq in Coq. Submitted for publication, 2000.]]Google ScholarGoogle Scholar
  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.]]Google ScholarGoogle ScholarCross RefCross Ref
  7. T. Coquand and G. Huet. The calculus of Constructions. Inf. and Comp., 76(2/3):95--120, 1988.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. G. Cousineau, P.-L. Curien, and M. Mauny. The categorical abstract machine. Science of Computer Programming, 8(2):173--202, 1987.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. P. Crégut. An abstract machine for lambda-terms normalization. In Lisp and Functional Programming 1990, pages 333--340. ACM Press, 1990.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. P. Crégut. Machines à environnement pour la réduction symbolique et l'évaluation partielle. PhD thesis, University Paris 7, 1991.]]Google ScholarGoogle Scholar
  11. O. Danvy. Type-directed partial evaluation. In 23rd symp. Principles of Progr. Lang, pages 242--257. ACM Press, 1996.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. O. Danvy. Online type-directed partial evaluation. Technical Report RS-97-53, BRICS, 1997.]]Google ScholarGoogle ScholarCross RefCross Ref
  13. T. Hardin, L. Maranget, and B. Pagano. Functional runtimes within the lambda-sigma calculus. Journal of Functional Programming, 8(2):131--176, 1998.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. R. Harper, F. Honsell, and G. Plotkin. A framework for defining logics. J. ACM, 40(1):143--184, 1993.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. N. D. Jones, C. K. Gomard, and P. Sestoft. Partial Evaluation and Automatic Program Generation. Prentice-Hall, 1993.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. X. Leroy. The ZINC experiment: an economical implementation of the ML language. Technical report 117, INRIA, 1990.]]Google ScholarGoogle Scholar
  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.]]Google ScholarGoogle Scholar
  18. A. Miquel. Le Calcul des Constructions implicite: syntaxe et sémantique. PhD thesis, University Paris 7, 2001.]]Google ScholarGoogle Scholar
  19. G. Nadathur and D. S. Wilson. A notation for lambda terms: A generalization of environments. Theoretical Comput. Sci., 198:49--98, 1998.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.]]Google ScholarGoogle ScholarCross RefCross Ref
  21. F. Pfenning and C. Paulin-Mohring. Inductively defined types in the Calculus of Constructions. In Mathematical Foundations of Programming Semantics, volume 442 of LNCS, pages 209--228. Springer-Verlag, 1990.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. E. Sumii and N. Kobayashi. Online type-directed partial evaluation for dynamically-typed languages. Computer Software, 17(3):38--62, 2000. Iwanami Shoten.]]Google ScholarGoogle Scholar
  23. K. N. Verma, J. Goubault-Larrecq, S. Prasad, and S. Arun-Kumar. Reflecting BDDs in Coq. In 6th Asian Computing Science Conference (ASIAN'2000), number 1961 in LNCS, pages 162--181. Springer-Verlag, 2000.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. R. Vestergaard. The polymorphic type theory of normalisation by evaluation. Draft, 2001.]]Google ScholarGoogle Scholar

Index Terms

  1. A compiled implementation of strong reduction

                      Recommendations

                      Comments

                      Login options

                      Check if you have access through your login credentials or your institution to get full access on this article.

                      Sign in
                      • Published in

                        cover image ACM Conferences
                        ICFP '02: Proceedings of the seventh ACM SIGPLAN international conference on Functional programming
                        October 2002
                        294 pages
                        ISBN:1581134878
                        DOI:10.1145/581478
                        • cover image ACM SIGPLAN Notices
                          ACM SIGPLAN Notices  Volume 37, Issue 9
                          September 2002
                          283 pages
                          ISSN:0362-1340
                          EISSN:1558-1160
                          DOI:10.1145/583852
                          Issue’s Table of Contents

                        Copyright © 2002 ACM

                        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

                        Publisher

                        Association for Computing Machinery

                        New York, NY, United States

                        Publication History

                        • Published: 17 September 2002

                        Permissions

                        Request permissions about this article.

                        Request Permissions

                        Check for updates

                        Qualifiers

                        • Article

                        Acceptance Rates

                        ICFP '02 Paper Acceptance Rate24of76submissions,32%Overall Acceptance Rate333of1,064submissions,31%

                        Upcoming Conference

                        ICFP '24

                      PDF Format

                      View or Download as a PDF file.

                      PDF

                      eReader

                      View online with eReader.

                      eReader