On the Relation of Interaction Semantics to Continuations and Defunctionalization
Ulrich Sch\"opp (Ludwig-Maximilians-Universit\"at M\"unchen, Germany)

TL;DR
This paper explores how interaction semantics in game semantics relates to traditional compilation techniques like continuation passing style and defunctionalization, providing a unified understanding for functional language compilation.
Contribution
It establishes a formal connection between interaction-based models and standard compilation methods in functional programming, including handling recursion.
Findings
Interaction semantics can be expressed as CPS-translation followed by defunctionalization.
A formal relation between interaction models and traditional compilation techniques is demonstrated.
The approach extends to recursion in simply-typed lambda calculus.
Abstract
In game semantics and related approaches to programming language semantics, programs are modelled by interaction dialogues. Such models have recently been used in the design of new compilation methods, e.g. for hardware synthesis or for programming with sublinear space. This paper relates such semantically motivated non-standard compilation methods to more standard techniques in the compilation of functional programming languages, namely continuation passing and defunctionalization. We first show for the linear {\lambda}-calculus that interpretation in a model of computation by interaction can be described as a call-by-name CPS-translation followed by a defunctionalization procedure that takes into account control-flow information. We then establish a relation between these two compilation methods for the simply-typed {\lambda}-calculus and end by considering recursion.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
