What is a good gradual language? Siek et al. have previously proposed the refined criteria, a set of formal ideas that characterize a range of guarantees typically expected from a gradual language. While these go a long way, they are mostly focused on syntactic and type safety properties and fail to characterize how richer semantic properties and reasoning principles that hold in the static language, like non-interference or parametricity for instance, should be upheld in the gradualization.
In this paper, we investigate and argue for a new criterion previously hinted at by Devriese et al.: the embedding from the static to the gradual language should be fully abstract. Rather than preserving an arbitrarily chosen interpretation of source language types, this criterion requires that \emph{all} source language equivalences are preserved. We demonstrate that the criterion weeds out erroneous gradualizations that nevertheless satisfy the refined criteria. At the same time, we demonstrate that the criterion is realistic by reporting on a mechanized proof that the property holds for a standard example: $\operatorname{GTLC}\mu$, the natural gradualization of $\operatorname{STLC}\mu$, the simply typed lambda-calculus with equirecursive types. We argue thus that the criterion is useful for understanding, evaluating, and guiding the design of gradual languages, particularly those which are intended to preserve source language guarantees in a rich way.
Thu 16 JunDisplayed time zone: Pacific Time (US & Canada) change
13:30 - 14:50 | |||
13:30 20mTalk | (ICFP 2020) Kinds Are Calling Conventions SIGPLAN Track Paul Downen University of Massachusetts Lowell, Zena M. Ariola University of Oregon, Simon Peyton Jones Microsoft Research, Richard A. Eisenberg Tweag Link to publication DOI Authorizer link Pre-print | ||
13:50 20mTalk | (OOPSLA 2021) Study of the subtyping machine of nominal subtyping with variance SIGPLAN Track Ori Roth Technion Link to publication DOI Authorizer link Pre-print | ||
14:10 20mTalk | (POPL 2021) Fully Abstract from Static to Gradual SIGPLAN Track | ||
14:30 20mTalk | (POPL 2021) On the Semantic Expressiveness of Recursive Types SIGPLAN Track |