Professor GRAHAM HUTTON GRAHAM.HUTTON@NOTTINGHAM.AC.UK
Professor of Computer Science
Professor GRAHAM HUTTON GRAHAM.HUTTON@NOTTINGHAM.AC.UK
Professor of Computer Science
Patrick Bahr
Bahr and Hutton recently developed a new approach to calculating correct compilers directly from specifications of their correctness. However, the methodology only considers converging behaviour of the source language, which means that the compiler could potentially produce arbitrary, erroneous code for source programs that diverge. In this article, we show how the methodology can naturally be extended to support the calculation of compilers that address both convergent and divergent behaviour simultaneously, without the need for separate reasoning for each aspect. Our approach is based on the use of the partiality monad to make divergence explicit, together with the use of strong bisimilarity to support equational-style calculations, but also generalises to other forms of effect by changing the underlying monad.
Hutton, G., & Bahr, P. (2022). Monadic Compiler Calculation (Functional Pearl). Proceedings of the ACM on Programming Languages, 6(ICFP), 1-27. https://doi.org/10.1145/354762
Journal Article Type | Article |
---|---|
Acceptance Date | Jul 1, 2022 |
Online Publication Date | Aug 31, 2022 |
Publication Date | Aug 31, 2022 |
Deposit Date | Jul 21, 2022 |
Publicly Available Date | Jul 29, 2022 |
Journal | Proceedings of the ACM on Programming Languages |
Publisher | Association for Computing Machinery (ACM) |
Peer Reviewed | Peer Reviewed |
Volume | 6 |
Issue | ICFP |
Article Number | 93 |
Pages | 1-27 |
DOI | https://doi.org/10.1145/354762 |
Public URL | https://nottingham-repository.worktribe.com/output/9090554 |
Publisher URL | https://dl.acm.org/doi/10.1145/3547624 |
Monadic-compiler-calculation
(299 Kb)
PDF
Calculating correct compilers II: Return of the register machines
(2020)
Journal Article
Liquidate your assets: reasoning about resource usage in liquid Haskell
(2019)
Journal Article
Call-by-need is clairvoyant call-by-value
(2019)
Journal Article
AutoBench: comparing the time performance of Haskell programs
(2018)
Conference Proceeding
Theorem proving for all: equational reasoning in Liquid Haskell (Functional Pearl)
(2018)
Conference Proceeding
About Repository@Nottingham
Administrator e-mail: openaccess@nottingham.ac.uk
This application uses the following open-source libraries:
Apache License Version 2.0 (http://www.apache.org/licenses/)
Apache License Version 2.0 (http://www.apache.org/licenses/)
SIL OFL 1.1 (http://scripts.sil.org/OFL)
MIT License (http://opensource.org/licenses/mit-license.html)
CC BY 3.0 ( http://creativecommons.org/licenses/by/3.0/)
Advanced Search