Log In Sign Up

Gradual Parametricity, Revisited

by   Matías Toro, et al.

Bringing the benefits of gradual typing to a language with parametric polymorphism like System F, while preserving relational parametricity, has proven extremely challenging: first attempts were formulated a decade ago, and several recent developments have been published in the past year. In addition to leaving some properties as conjectures or future work, we observe that all prior work improperly handle type instantiations when imprecise types are involved. This observation further suggests that existing polymorphic cast calculi are not well suited for supporting a gradual counterpart of System F. Consequently, we revisit the challenge of designing a gradual language with explicit parametric polymorphism, exploring the extent to which the Abstracting Gradual Typing methodology helps us derive such a language, GSF. We present the design and metatheory of GSF. In addition to avoiding the uncovered semantic issues, GSF satisfies all the expected properties of a gradual parametric language, save for one property: the dynamic gradual guarantee, which was left as conjecture in all prior work, is here proven to be simply incompatible with parametricity. We nevertheless establish a weaker property that allows us to disprove several claims about gradual free theorems, clarifying the kind of reasoning supported by gradual parametricity.


page 1

page 2

page 3

page 4


Gradual Parametricity, Revisited (with Appendix)

Bringing the benefits of gradual typing to a language with parametric po...

Parametricity for Nested Types and GADTs

This paper considers parametricity and its consequent free theorems for ...

Factoring Statutory Reasoning as Language Understanding Challenges

Statutory reasoning is the task of determining whether a legal statute, ...

Do Neural Language Representations Learn Physical Commonsense?

Humans understand language based on the rich background knowledge about ...

Divergence-Preserving Branching Bisimilarity

This note considers the notion of divergence-preserving branching bisimi...

Dala: A Simple Capability-Based Dynamic Language Design For Data Race-Freedom

Dynamic languages like Erlang, Clojure, JavaScript, and E adopted data-r...

Internalizing Representation Independence with Univalence

In their usual form, representation independence metatheorems provide an...