Relational Parametricity for Computational Effects
Rasmus Ejlers M{\o}gelberg, Alex Simpson

TL;DR
This paper extends the concept of relational parametricity, traditionally used in pure functional programming, to include programming languages with computational effects, providing a foundational framework for such extensions.
Contribution
It introduces a new theoretical framework that adapts relational parametricity to effectful programming languages, bridging a gap in existing theory.
Findings
Framework for relational parametricity with effects
Enhanced data abstraction properties for effectful programs
Formal proofs of program equivalences with effects
Abstract
According to Strachey, a polymorphic program is parametric if it applies a uniform algorithm independently of the type instantiations at which it is applied. The notion of relational parametricity, introduced by Reynolds, is one possible mathematical formulation of this idea. Relational parametricity provides a powerful tool for establishing data abstraction properties, proving equivalences of datatypes, and establishing equalities of programs. Such properties have been well studied in a pure functional setting. Many programs, however, exhibit computational effects, and are not accounted for by the standard theory of relational parametricity. In this paper, we develop a foundational framework for extending the notion of relational parametricity to programming languages with effects.
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.
