DeepAI
Log In Sign Up

Gradual Parametricity, Revisited

07/12/2018
by   Matías Toro, et al.
0

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.

READ FULL TEXT

page 1

page 2

page 3

page 4

07/12/2018

Gradual Parametricity, Revisited (with Appendix)

Bringing the benefits of gradual typing to a language with parametric po...
01/13/2021

Parametricity for Nested Types and GADTs

This paper considers parametricity and its consequent free theorems for ...
05/17/2021

Factoring Statutory Reasoning as Language Understanding Challenges

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

Do Neural Language Representations Learn Physical Commonsense?

Humans understand language based on the rich background knowledge about ...
08/31/2020

Divergence-Preserving Branching Bisimilarity

This note considers the notion of divergence-preserving branching bisimi...
09/15/2021

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

Dynamic languages like Erlang, Clojure, JavaScript, and E adopted data-r...
09/11/2020

Internalizing Representation Independence with Univalence

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