Skip to search boxSkip to navigationSkip to main content

Calculating correct compilers

  • University of Copenhagen
Research Output:
Journal Article or Conference Article in Journal
Journal article
Peer-review

Open access

Publication Information

Output type

Research Output:
Journal Article or Conference Article in Journal
Journal article
Peer-review

Original language

English

Journal (Volume, Issue Number)

Journal of Functional Programming (Volume 25)

Publication milestones

  • Published - 01/09/2015

Publication status

Published - 01/09/2015

ISSN

1469-7653

Publication IDs

  • Scopus: 84994242294

Abstract

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.

Publication metrics

PlumX, opens in new tab

Citations
21
Captures
32