Skip to main content

Research Repository

Advanced Search

Outputs (3)

Calculating Compilers Effectively (Functional Pearl) (2024)
Presentation / Conference Contribution
Garby, Z., Hutton, G., & Bahr, P. (2024, September). Calculating Compilers Effectively (Functional Pearl). Presented at Haskell '24: 17th ACM SIGPLAN International Haskell Symposium, Milan, Italy

Much work in the area of compiler calculation has focused on pure languages. While this simplifies the reasoning, it reduces the applicability. In this article, we show how an existing compiler calculation methodology can be naturally extended to lan... Read More about Calculating Compilers Effectively (Functional Pearl).

Beyond Trees: Calculating Graph-Based Compilers (Functional Pearl) (2024)
Journal Article
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

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 tr... Read More about Beyond Trees: Calculating Graph-Based Compilers (Functional Pearl).

Quotient Haskell: Lightweight Quotient Types for All (2024)
Journal Article
Hewer, B., & Hutton, G. (2024). Quotient Haskell: Lightweight Quotient Types for All. Proceedings of the ACM on Programming Languages, 8(POPL), 785-815. https://doi.org/10.1145/3632869

Subtypes and quotient types are dual type abstractions. However, while subtypes are widely used both explicitly and implicitly, quotient types have not seen much practical use outside of proof assistants. A key difficulty to wider adoption of quotie... Read More about Quotient Haskell: Lightweight Quotient Types for All.