Thu 21 Oct 2021 22:05 - 22:20 at Zurich D - Types - mirror Chair(s): Wei-Ngan Chin
Dependently-typed programming languages are gaining importance, because they can guarantee a wide range of properties at compile time. Their use in practice is often hampered because programmers have to provide very precise types. Gradual typing is a means to vary the level of typing precision between program fragments and to transition smoothly towards more precisely typed programs. The combination of gradual typing and dependent types seems promising to promote the widespread use of dependent types.
We investigate a gradual version of a minimalist value-dependent lambda calculus. Compile-time calculations and thus dependencies are restricted to labels, drawn from a generic enumeration type. The calculus supports the usual Pi and Sigma types as well as singleton types and subtyping. It is sufficiently powerful to provide flexible encodings of variant and record types with first-class labels.
We provide type checking algorithms for the underlying label-dependent lambda calculus and its gradual extension. The gradual type checker drives the translation into a cast calculus, which extends the original language. The cast calculus comes with several innovations: refined typing for casts in the presence of singletons, type reduction in casts, and fully dependent Sigma types. Besides standard metatheoretical results, we establish the gradual guarantee for the gradual language.
Thu 21 OctDisplayed time zone: Central Time (US & Canada) change
13:50 - 15:10 | |||
13:50 15mTalk | Study of the Subtyping Machine of Nominal Subtyping with VarianceVirtual OOPSLA Ori Roth Technion DOI Pre-print Media Attached | ||
14:05 15mTalk | Label Dependent Lambda Calculus and Gradual TypingVirtual OOPSLA Weili Fu University of Edinburgh, Fabian Krause University of Freiburg, Peter Thiemann University of Freiburg, Germany DOI | ||
14:20 15mTalk | Relational Nullable Types with Boolean UnificationVirtual OOPSLA DOI | ||
14:35 15mTalk | Type Stability in Julia: Avoiding Performance Pathologies in JIT CompilationIn-Person OOPSLA Artem Pelenitsyn Northeastern University, Julia Belyakova Northeastern University, Benjamin Chung Northeastern University, Ross Tate Cornell University, Jan Vitek Northeastern University; Czech Technical University DOI Pre-print Media Attached | ||
14:50 20mLive Q&A | Discussion, Questions and Answers OOPSLA |
21:50 - 23:10 | |||
21:50 15mTalk | Study of the Subtyping Machine of Nominal Subtyping with VarianceVirtual OOPSLA Ori Roth Technion DOI Pre-print Media Attached | ||
22:05 15mTalk | Label Dependent Lambda Calculus and Gradual TypingVirtual OOPSLA Weili Fu University of Edinburgh, Fabian Krause University of Freiburg, Peter Thiemann University of Freiburg, Germany DOI | ||
22:20 15mTalk | Relational Nullable Types with Boolean UnificationVirtual OOPSLA DOI | ||
22:35 15mTalk | Type Stability in Julia: Avoiding Performance Pathologies in JIT CompilationIn-Person OOPSLA Artem Pelenitsyn Northeastern University, Julia Belyakova Northeastern University, Benjamin Chung Northeastern University, Ross Tate Cornell University, Jan Vitek Northeastern University; Czech Technical University DOI Pre-print Media Attached | ||
22:50 20mLive Q&A | Discussion, Questions and Answers OOPSLA |