Hostname: page-component-586b7cd67f-t7fkt Total loading time: 0 Render date: 2024-11-21T14:02:13.333Z Has data issue: false hasContentIssue false

Compiling a 50-year journey*

Published online by Cambridge University Press:  20 September 2017

GRAHAM HUTTON
Affiliation:
School of Computer Science, University of Nottingham, Nottingham, UK (e-mail: gmh@cs.nott.ac.uk)
PATRICK BAHR
Affiliation:
Department of Computer Science, IT University of Copenhagen, Copenhagen, Denmark (e-mail: paba@itu.dk)
Rights & Permissions [Opens in a new window]

Abstract

Core share and HTML view are not available for this content. However, as you have access to this content, a full PDF is available via the ‘Save PDF’ action button.

Fifty years ago, John McCarthy and James Painter (1967) published the first paper on compiler verification, in which they showed how to formally prove the correctness of a compiler that translates arithmetic expressions into code for a register-based machine. In this article, we revisit this example in a modern context, and show how such a compiler can now be calculated directly from a specification of its correctness using simple equational reasoning techniques.

Type
Functional Pearls
Copyright
Copyright © Cambridge University Press 2017 

Footnotes

*

Graham Hutton was funded by EPSRC grant EP/P00587X/1, Unified Reasoning About Program Correctness and Efficiency.

References

Bahr, P. & Hutton, G. (2015) Calculating correct compilers. Journal of Functional Programming, 25, 47 pages.Google Scholar
Hutton, G. (2016) Programming in Haskell. Cambridge University Press.Google Scholar
McCarthy, J. & Painter, J. (1967) Correctness of a compiler for arithmetic expressions. In Mathematical Aspects of Computer Science, Proceedings of Symposia in Applied Mathematics, vol. 19. American Mathematical Society.CrossRefGoogle Scholar
Supplementary material: File

Hutton and Bahr supplementary material

Hutton and Bahr supplementary material 1

Download Hutton and Bahr supplementary material(File)
File 10.4 KB
Submit a response

Discussions

No Discussions have been published for this article.