Patrick Bahr
Calculating correct compilers
Bahr, Patrick; Hutton, Graham
Abstract
© 2016 Cambridge University Press. In this article, we present a new approach to the problem of calculating compilers. In particular, we develop a simple but general technique that allows us to derive correct compilers from high-level semantics by systematic calculation, with all details of the implementation of the compilers falling naturally out of the calculation process. Our approach is based upon the use of standard equational reasoning techniques, and has been applied to calculate compilers for a wide range of language features and their combination, including arithmetic expressions, exceptions, state, various forms of lambda calculi, bounded and unbounded loops, non-determinism and interrupts. All the calculations in the article have been formalised using the Coq proof assistant, which serves as a convenient interactive tool for developing and verifying the calculations.
Citation
Bahr, P., & Hutton, G. (2015). Calculating correct compilers. Journal of Functional Programming, 25, Article e14. https://doi.org/10.1017/S0956796815000180
Journal Article Type | Article |
---|---|
Acceptance Date | Jul 17, 2015 |
Online Publication Date | Sep 16, 2015 |
Publication Date | 2015 |
Deposit Date | Apr 8, 2016 |
Publicly Available Date | Apr 8, 2016 |
Journal | Journal of Functional Programming |
Print ISSN | 0956-7968 |
Electronic ISSN | 1469-7653 |
Publisher | Cambridge University Press |
Peer Reviewed | Peer Reviewed |
Volume | 25 |
Article Number | e14 |
DOI | https://doi.org/10.1017/S0956796815000180 |
Public URL | https://nottingham-repository.worktribe.com/output/761112 |
Publisher URL | http://journals.cambridge.org/action/displayAbstract?fromPage=online&aid=9961488&fileId=S0956796815000180 |
Files
ccc.pdf
(264 Kb)
PDF
You might also like
Quotient Haskell: Lightweight Quotient Types for All
(2024)
Journal Article
Programming language semantics: It’s easy as 1,2,3
(2023)
Journal Article
Monadic compiler calculation (functional pearl)
(2022)
Journal Article
Calculating dependently-typed compilers (functional pearl)
(2021)
Journal Article
Calculating correct compilers II: Return of the register machines
(2020)
Journal Article
Downloadable Citations
About Repository@Nottingham
Administrator e-mail: discovery-access-systems@nottingham.ac.uk
This application uses the following open-source libraries:
SheetJS Community Edition
Apache License Version 2.0 (http://www.apache.org/licenses/)
PDF.js
Apache License Version 2.0 (http://www.apache.org/licenses/)
Font Awesome
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/)
Powered by Worktribe © 2025
Advanced Search