Skip to main navigation Skip to search Skip to main content

Monadic Compiler Calculation (Functional Pearl)

  • University of Nottingham

Research output: Conference Article in Proceeding or Book/Report chapterArticle in proceedingsResearchpeer-review

Abstract

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.
Original languageEnglish
Title of host publication Proceedings of the ACM on Programming Languages
Volume6
PublisherAssociation for Computing Machinery
Publication dateAug 2022
DOIs
Publication statusPublished - Aug 2022
EventSymposium on Principles of Programming Languages - Rittenhouse Square in Center City, Philadelphia, United States
Duration: 16 Jan 202222 Jan 2022
Conference number: 49
https://popl22.sigplan.org/

Symposium

SymposiumSymposium on Principles of Programming Languages
Number49
LocationRittenhouse Square in Center City
Country/TerritoryUnited States
CityPhiladelphia
Period16/01/202222/01/2022
Internet address

Keywords

  • program calculation
  • verified compiler
  • virtual machine
  • Agda
  • bisimulation
  • monad

Fingerprint

Dive into the research topics of 'Monadic Compiler Calculation (Functional Pearl)'. Together they form a unique fingerprint.

Cite this