Unraveling Recursion: Compiling an IR with Recursion to System F

Michael Peyton Jones, Vasilis Gkoumas, Roman Kireev, Kenneth MacKenzie, Chad Nester, Philip Wadler

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract / Description of output

Lambda calculi are often used as intermediate representations for compilers. However, they require extensions to handle higher-level features of programming languages. In this paper we show how toconstruct an IR based on System Fωμ which supports recursive functions and datatypes, and describe how to compile it to System Fωμ. Our IR was developed for commercial use at the IOHK company, where it is used as part of a compilation pipeline for smart contracts running on a blockchain.
Original languageEnglish
Title of host publicationMathematics of Program Construction
EditorsGraham Hutton
Place of PublicationCham
PublisherSpringer
Pages414-443
Number of pages30
ISBN (Electronic)978-3-030-33636-3
ISBN (Print)978-3-030-33635-6
DOIs
Publication statusPublished - 20 Oct 2019
Event13th International Conference on Mathematics of Program Construction - Porto, Portugal
Duration: 7 Oct 20199 Oct 2019
http://www.cs.nott.ac.uk/~pszgmh/mpc19.html

Publication series

NameLecture Notes in Computer Science (LNCS)
PublisherSpringer, Cham
Volume11825
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Conference

Conference13th International Conference on Mathematics of Program Construction
Abbreviated titleMPC 2019
Country/TerritoryPortugal
CityPorto
Period7/10/199/10/19
Internet address

Fingerprint

Dive into the research topics of 'Unraveling Recursion: Compiling an IR with Recursion to System F'. Together they form a unique fingerprint.

Cite this