skip to main content
article
Free access

Higher-order abstract syntax

Published: 01 June 1988 Publication 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]
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.
[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.
[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.
[4]
Alonzo Church. A formulation of the simple theory Of types. Journal of Symbolic Logic, 5:56--68, 1940.
[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.
[6]
David Garlan. Views for Tools in Integrated Environments. PhD thesis, Carnegie Mellon University, 1987. Available as Technical Report CMU-CS-87- 147.
[7]
Timothy G. Griffin. An Environment for Formal Systems. Technical Report 87-846, Department of Computer Science, Cornell University, Ithaca, New York, June 1987.
[8]
Gandalf Group. Special issue on the Gandalf project. In The Journal of Systems and Software, Volume 5, Number 2, May 1985.
[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.
[10]
G6rard Huet. A unification algorithm for typed )~- calculus. Theoretical Computer Science, 1:27-57, 1975.
[11]
G6rard Huet and Bernard Lang. Proving and applying program transformations expressed with second-order patterns. Acta lnformatica, 11:31-55, 1978.
[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.
[13]
Dale A. Miller. Unification under mixed prefixes. 1987. Unpublished manuscript.
[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.
[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.
[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.
[17]
Gopalan Naclathur. A Higher-Order Logic as the Basis for Logic Programming. PhD thesis, University of Pennsylvania, 1987.
[18]
Lawrence Paulson. Natural deduction as higherorder resolution. Journal of Logic Programming, 3:237-258, 1986.
[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.
[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.

Cited By

View all
  • (2024)The Long Way to Deforestation: A Type Inference and Elaboration Technique for Removing Intermediate Data StructuresProceedings of the ACM on Programming Languages10.1145/36746348:ICFP(249-283)Online publication date: 15-Aug-2024
  • (2024)Verified Extraction from Coq to OCamlProceedings of the ACM on Programming Languages10.1145/36563798:PLDI(52-75)Online publication date: 20-Jun-2024
  • (2023)Syntax Monads for the Working Formal MetatheoristElectronic Proceedings in Theoretical Computer Science10.4204/EPTCS.397.7397(98-117)Online publication date: 14-Dec-2023
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

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
  • 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
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: 01 June 1988
Published in SIGPLAN Volume 23, Issue 7

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)311
  • Downloads (Last 6 weeks)64
Reflects downloads up to 15 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2024)The Long Way to Deforestation: A Type Inference and Elaboration Technique for Removing Intermediate Data StructuresProceedings of the ACM on Programming Languages10.1145/36746348:ICFP(249-283)Online publication date: 15-Aug-2024
  • (2024)Verified Extraction from Coq to OCamlProceedings of the ACM on Programming Languages10.1145/36563798:PLDI(52-75)Online publication date: 20-Jun-2024
  • (2023)Syntax Monads for the Working Formal MetatheoristElectronic Proceedings in Theoretical Computer Science10.4204/EPTCS.397.7397(98-117)Online publication date: 14-Dec-2023
  • (2023)Locally Nameless SetsProceedings of the ACM on Programming Languages10.1145/35712107:POPL(488-514)Online publication date: 11-Jan-2023
  • (2022)A Logic for Formalizing Properties of LF SpecificationsProceedings of the 24th International Symposium on Principles and Practice of Declarative Programming10.1145/3551357.3551377(1-13)Online publication date: 20-Sep-2022
  • (2022)Formal metatheory of second-order abstract syntaxProceedings of the ACM on Programming Languages10.1145/34987156:POPL(1-29)Online publication date: 12-Jan-2022
  • (2021)Multi-stage programming with generative and analytical macrosProceedings of the 20th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences10.1145/3486609.3487203(110-122)Online publication date: 17-Oct-2021
  • (2021)Safe mutation with algebraic effectsProceedings of the 14th ACM SIGPLAN International Symposium on Haskell10.1145/3471874.3472988(122-135)Online publication date: 18-Aug-2021
  • (2021)A Survey of the Proof-Theoretic Foundations of Logic ProgrammingTheory and Practice of Logic Programming10.1017/S147106842100053322:6(859-904)Online publication date: 18-Nov-2021
  • (2021)Subformula Linking for Intuitionistic Logic with Application to Type TheoryAutomated Deduction – CADE 2810.1007/978-3-030-79876-5_12(200-216)Online publication date: 5-Jul-2021
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media