Grokking the Sequent Calculus (Functional Pearl)
The sequent calculus is a proof system which was designed as a more symmetric alternative to natural deduction. The λμμ˜-calculus is a term assignment system for the sequent calculus and a great foundation for compiler intermediate languages due to its first-class representation of evaluation contexts. Unfortunately, only experts of the sequent calculus can appreciate its beauty. To remedy this, we present the first introduction to the λμμ˜-calculus which is not directed at type theorists or logicians but at compiler hackers and programming-language enthusiasts. We do this by writing a compiler from a small but interesting surface language to the λμμ˜-calculus as a compiler intermediate language.
Authors
- Marius Müller (ORCID: https://orcid.org/0000-0002-0260-6298)
- Klaus Ostermann (ORCID: https://orcid.org/0000-0001-5294-5506)
- David A. Binder (ORCID: https://orcid.org/0000-0003-1272-0972)
- Marco Tzschentke (ORCID: https://orcid.org/0009-0004-8834-2984)
Institutions
- University of Tübingen (DE)
Publication Details
- Journal
- Proceedings of the ACM on Programming Languages
- Published
- 2024-08-15
- DOI
- https://doi.org/10.1145/3674639
- Citations
- 1
- Primary Topic
- Logic, programming, and type systems
- Type
- article
- Field-Weighted Citation Impact
- 0.35