skip to main content
10.1145/53990.54010acmconferencesArticle/Chapter ViewAbstractPublication PagespldiConference Proceedingsconference-collections
Article
Free Access

Higher-order abstract syntax

Published:01 June 1988Publication History

ABSTRACT

We describe motivation, design, use, and implementation of higher-order abstract syntax as a central representation for programs, formulas, rules, and other syntactic objects in program manipulation and other formal systems where matching and substitution or unification are central operations. Higher-order abstract syntax incorporates name binding information in a uniform and language generic way. Thus it acts as a powerful link integrating diverse tools in such formal environments. We have implemented higher-order abstract syntax, a supporting matching and unification algorithm, and some clients in Common Lisp in the framework of the Ergo project at Carnegie Mellon University.

References

  1. 1.Amon Avron, Furio A. Honsell, and Ian A. Mason. Using typed Lambda Calculus to Implement Formal Systems on a Machine. Technical Report ECS- LFCS-87-31, Laboratory for Foundations of Computer Science, University of Edinburgh, Edinburgh, Scotland, June 1987.Google ScholarGoogle Scholar
  2. 2.Roff Bahlke and Gregor Snelting. The PSG system: from formal language definitions to interactive programming environments. ACM Transactions on Programming Languages and Systems, 8(4):547- 576, October 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. 3.R. M. Burstall and John Darlington. A transformation system for developing recursive programs. Journal of the Association for Computing Machinery, 24(1):44-67, January 1977. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 4.Alonzo Church. A formulation of the simple theory Of types. Journal of Symbolic Logic, 5:56--68, 1940.Google ScholarGoogle ScholarCross RefCross Ref
  5. 5.N. G. de Bruijn. Lambda-calculus notation with nameless dummies: a tool for automatic formula manipulation with application to the Church-Rosser theorem, lndag. Math., 34(5):381-392, 1972.Google ScholarGoogle Scholar
  6. 6.David Garlan. Views for Tools in Integrated Environments. PhD thesis, Carnegie Mellon University, 1987. Available as Technical Report CMU-CS-87- 147. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. 7.Timothy G. Griffin. An Environment for Formal Systems. Technical Report 87-846, Department of Computer Science, Cornell University, Ithaca, New York, June 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. 8.Gandalf Group. Special issue on the Gandalf project. In The Journal of Systems and Software, Volume 5, Number 2, May 1985.Google ScholarGoogle Scholar
  9. 9.Robert Harper, Furio Honsell, and Gordon Plotkin. A framework for defining logics. In Symposium on Logic in Computer Science, pages 194-204, IEEE, June 1987.Google ScholarGoogle Scholar
  10. 10.G6rard Huet. A unification algorithm for typed )~- calculus. Theoretical Computer Science, 1:27-57, 1975.Google ScholarGoogle ScholarCross RefCross Ref
  11. 11.G6rard Huet and Bernard Lang. Proving and applying program transformations expressed with second-order patterns. Acta lnformatica, 11:31-55, 1978.Google ScholarGoogle Scholar
  12. 12.Dale Miller, Gopalan Naclathur, and Andre Scedrov. Hereditary Harrop formulas and uniform proof systems. In Second Annual Symposium on Logic in Computer Science, pages 98-105, IEEE, June 1987.Google ScholarGoogle Scholar
  13. 13.Dale A. Miller. Unification under mixed prefixes. 1987. Unpublished manuscript.Google ScholarGoogle Scholar
  14. 14.Dale A. Miller and Gopalan Nadathur. Higher-order logic programming. In Procee&'ngs of the Third International Conference on Logic Programming, Springer Verlag, July 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. 15.Dale A. Miller and Gopalan Nadathur. A logic programming approach to manipulating formulas and programs. In Symposium on Logic Programming, San Francisco, IEEE, September 1987.Google ScholarGoogle Scholar
  16. 16.B. M/511er. A survey of the project CIP: Computeraided, intuition-guided programming. Technical Report TUM-18406, Institut fur Informatik tier TU MUnchen, Munich, West Germany, 1984.Google ScholarGoogle Scholar
  17. 17.Gopalan Naclathur. A Higher-Order Logic as the Basis for Logic Programming. PhD thesis, University of Pennsylvania, 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. 18.Lawrence Paulson. Natural deduction as higherorder resolution. Journal of Logic Programming, 3:237-258, 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. 19.Thomas Reps and Tim Teitelbaum. The synthesizer generator. In Proceedings of the A CM SIG- SOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments, pages 42--48, ACM, New York, April 1984. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. 20.David S. Wile. POPART: Producer of Parsers and Related Tools, System Builder's Manual. Technical Report, University of Southern California, Information Sciences Institute, 1987.Google ScholarGoogle Scholar

Index Terms

  1. Higher-order abstract syntax

            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
              PLDI '88: Proceedings of the ACM SIGPLAN 1988 conference on Programming language design and implementation
              June 1988
              338 pages
              ISBN:0897912691
              DOI:10.1145/53990
              • cover image ACM SIGPLAN Notices
                ACM SIGPLAN Notices  Volume 23, Issue 7
                Proceedings of the SIGPLAN '88 conference on Programming language design and implementation
                July 1988
                338 pages
                ISSN:0362-1340
                EISSN:1558-1160
                DOI:10.1145/960116
                Issue’s Table of Contents

              Copyright © 1988 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: 1 June 1988

              Permissions

              Request permissions about this article.

              Request Permissions

              Check for updates

              Qualifiers

              • Article

              Acceptance Rates

              Overall Acceptance Rate406of2,067submissions,20%

              Upcoming Conference

              PLDI '24

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader