Skip to search boxSkip to navigationSkip to main content

Beyond Trees: Calculating Graph-Based Compilers (Functional Pearl)

Research Output:
Journal Article or Conference Article in Journal
Journal article
Peer-review

Open access

Publication Information

Output type

Research Output:
Journal Article or Conference Article in Journal
Journal article
Peer-review

Original language

English

Article number

249

Pages from-to (Number of pages)

Pages 370 - 394 (25 pages)

Journal (Volume, Issue Number)

Proceedings of the ACM on Programming Languages (Volume 8, Issue ICFP249)

Publication milestones

  • Published - 15/08/2024

Publication status

Published - 15/08/2024

Publication IDs

  • ORCID: /0000-0003-1600-8261/work/165578868
  • Scopus: 85201688438

Abstract

Bahr and Hutton recently developed an approach to compiler calculation that allows a wide range of compilers to be derived from specifications of their correctness. However, a limitation of the approach is that it results in compilers that produce tree-structured code. By contrast, realistic compilers produce code that is essentially graph-structured, where the edges in the graph represent jumps that transfer the flow of control to other locations in the code. In this article, we show how their approach can naturally be adapted to calculate compilers that produce graph-structured code, without changing the underlying calculational methodology, by using a higher-order abstract syntax representation of graphs.

Related Event

Title

29th ACM SIGPLAN International Conference on Functional Programming

Event type

Conference

Degree of recognition

International event

Date

03/09/2024 - 05/09/2024

Location

MilanItaly