2019
DOI: 10.1007/978-3-030-33636-3_15
|View full text |Cite
|
Sign up to set email alerts
|

Unraveling Recursion: Compiling an IR with Recursion to System F

Abstract: Lambda calculi are often used as intermediate representations for compilers. However, they require extensions to handle higherlevel features of programming languages. In this paper we show how to construct 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.

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1

Citation Types

0
2
0

Year Published

2019
2019
2023
2023

Publication Types

Select...
4
1

Relationship

1
4

Authors

Journals

citations
Cited by 6 publications
(2 citation statements)
references
References 23 publications
(31 reference statements)
0
2
0
Order By: Relevance
“…In IOHKs forthcoming smart contract offering Plutus, formal methods have been involved from the outset. Aspects of the design have been prototyped first in Agda before implementation in Haskell [PJGK+19]. This is because the Agda type system and its interactive programming environment provide greater assistance to the programmer that help speed up development on certain tasks.…”
Section: Upcoming Features: Smart Contracts Languages Plutus and Marlmentioning
confidence: 99%
“…In IOHKs forthcoming smart contract offering Plutus, formal methods have been involved from the outset. Aspects of the design have been prototyped first in Agda before implementation in Haskell [PJGK+19]. This is because the Agda type system and its interactive programming environment provide greater assistance to the programmer that help speed up development on certain tasks.…”
Section: Upcoming Features: Smart Contracts Languages Plutus and Marlmentioning
confidence: 99%
“…We chose to present the restricted version in this paper as it is simpler and sufficient to present our examples. See the accompanying paper [26] for a more detailed discussion of higher kinded recursive types.…”
Section: Higher Kinded Recursive Typesmentioning
confidence: 99%