Skip to main content

Research Repository

Advanced Search

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

Bahr, Patrick; Hutton, Graham

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


Authors

Patrick Bahr



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.

Citation

Bahr, P., & Hutton, G. (2024). Beyond Trees: Calculating Graph-Based Compilers (Functional Pearl). Proceedings of the ACM on Programming Languages, 8(ICFP), 370-394. https://doi.org/10.1145/3674638

Journal Article Type Article
Acceptance Date Jun 18, 2024
Online Publication Date Aug 15, 2024
Publication Date 2024-08
Deposit Date Jun 28, 2024
Publicly Available Date Aug 27, 2024
Journal Proceedings of the ACM on Programming Languages
Electronic ISSN 2475-1421
Publisher Association for Computing Machinery (ACM)
Peer Reviewed Peer Reviewed
Volume 8
Issue ICFP
Pages 370-394
DOI https://doi.org/10.1145/3674638
Public URL https://nottingham-repository.worktribe.com/output/36576878
Publisher URL https://dl.acm.org/doi/10.1145/3674638

Files





You might also like



Downloadable Citations