TY - JOUR
T1 - Relational Parametricity for Computational Effects
AU - Møgelberg, Rasmus Ejlers
AU - Simpson, Alex
PY - 2009
Y1 - 2009
N2 - 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.
AB - 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.
KW - Polymorphic Programming
KW - Relational Parametricity
KW - Data Abstraction
KW - Computational Effects
KW - Functional Programming
U2 - 10.2168/LMCS-5(3:7)2009
DO - 10.2168/LMCS-5(3:7)2009
M3 - Journal article
SN - 1860-5974
VL - 5
JO - Logical Methods in Computer Science
JF - Logical Methods in Computer Science
IS - 3
ER -