2016
DOI: 10.1145/3022670.2951931
|View full text |Cite
|
Sign up to set email alerts
|

Sequent calculus as a compiler intermediate language

Abstract: The λ-calculus is popular as an intermediate language for practical compilers. But in the world of logic it has a lesser-known twin, born at the same time, called the sequent calculus. Perhaps that would make for a good intermediate language, too? To explore this question we designed Sequent Core, a practically-oriented core calculus based on the sequent calculus, and used it to re-implement a substantial chunk of the Glasgow Haskell Compiler.

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1

Citation Types

0
5
0

Year Published

2018
2018
2022
2022

Publication Types

Select...
3
1

Relationship

1
3

Authors

Journals

citations
Cited by 4 publications
(5 citation statements)
references
References 46 publications
0
5
0
Order By: Relevance
“…To remedy such code duplication, as well as to increase the expressiveness of the IR to encode complex control flow, LEAN uses join-points [10], [11]. These join-points introduce the ability to create labels within the IR that control flow can jump to.…”
Section: B Join Pointsmentioning
confidence: 99%
“…To remedy such code duplication, as well as to increase the expressiveness of the IR to encode complex control flow, LEAN uses join-points [10], [11]. These join-points introduce the ability to create labels within the IR that control flow can jump to.…”
Section: B Join Pointsmentioning
confidence: 99%
“…Applicative contexts are thus considered of the restricted shape q • E. contexts. Formally, the syntax (to which we add constants k and co-constants κ) is defined by 18 :…”
Section: Classical Call-by-needmentioning
confidence: 99%
“…Rather than directly proving the normalization of dPA ω , we choose to first give an alternative presentation of the system under the shape of a sequent calculus, which we call dLPA ω . Indeed, sequent calculus presentations of a calculus usually provides good intermediate steps for CPS translations [56,57,18] since they enforce a decomposition of the reduction system into finer-grained rules. To this aim, we first handled separately the difficulties peculiar to the definition of such a calculus: on the one hand, we proved with Herbelin the normalization of a calculus with control operators and lazy evaluation [55]; on the other hand, we defined a classical sequent calculus with dependent types [54].…”
mentioning
confidence: 99%
See 1 more Smart Citation
“…To explore the space of intermediate languages, we use a dual sequent calculus framework which provides a machine-like language suitable for representing functional programs [DMAPJ16]. We begin by reviewing this general framework; specifically: • (Section 2) We introduce the syntax and reduction theory of λµμ-a term assignment for Gentzen's sequent calculus LK [Gen35].…”
Section: Introductionmentioning
confidence: 99%