SPLASH 2021
Sun 17 - Fri 22 October 2021 Chicago, Illinois, United States
Thu 21 Oct 2021 10:50 - 11:05 at Zurich B - Dynamic Languages Chair(s): Julia Belyakova
Thu 21 Oct 2021 18:50 - 19:05 at Zurich B - Dynamic Languages - mirror Chair(s): Julia Belyakova

Dynamically-typed languages offer easy interaction with ad hoc data such as JSON and S-expressions;
statically-typed languages offer powerful tools for working with structured data, notably \emph{algebraic datatypes}, which are a core feature of typed languages both functional and otherwise. Gradual typing aims to reconcile dynamic and static typing smoothly. The gradual typing literature has extensively focused on the computational aspect of types, such as type safety, effects, noninterference, or parametricity, but the application of graduality to data structuring mechanisms has been much less explored. While row polymorphism and set-theoretic types have been studied in the context of gradual typing, algebraic datatypes in particular have not, which is surprising considering their wide use in practice.
We develop, formalize, and prototype a novel approach to gradually structured data with algebraic datatypes.
Gradually structured data bridges the gap between traditional algebraic datatypes and flexible data management mechanisms such as tagged data in dynamic languages, or polymorphic variants in OCaml.
We illustrate the key ideas of gradual algebraic datatypes through the evolution of a small server application from dynamic to progressively more static checking, formalize a core functional language with gradually structured data, and establish its metatheory, including the gradual guarantees.

Thu 21 Oct

Displayed time zone: Central Time (US & Canada) change

10:50 - 12:10
Dynamic LanguagesOOPSLA at Zurich B +8h
Chair(s): Julia Belyakova Northeastern University
10:50
15m
Talk
Gradually Structured DataVirtual
OOPSLA
Stefan Malewski University of Chile, Michael Greenberg Stevens Institute of Technology, Éric Tanter University of Chile
DOI Pre-print
11:05
15m
Talk
Solver-Based Gradual Type MigrationVirtual
OOPSLA
Luna Phipps-Costin University of Massachusetts at Amherst, Carolyn Jane Anderson Wellesley College, Michael Greenberg Stevens Institute of Technology, Arjun Guha Northeastern University
DOI Pre-print
11:20
15m
Talk
SimTyper: Sound Type Inference for Ruby using Type Equality PredictionVirtual
OOPSLA
Milod Kazerounian University of Maryland at College Park, Jeffrey S. Foster Tufts University, Bonan Min Raytheon BBN Technologies
DOI
11:35
15m
Talk
Promises Are Made to Be Broken: Migrating R to Strict SemanticsIn-Person
OOPSLA
Aviral Goel Northeastern University, Jan Ječmen Czech Technical University, Sebastián Krynski Czech Technical University, Olivier Flückiger Northeastern University, Jan Vitek Northeastern University; Czech Technical University
DOI
11:50
20m
Live Q&A
Discussion, Questions and Answers
OOPSLA

18:50 - 20:10
Dynamic Languages - mirrorOOPSLA at Zurich B
Chair(s): Julia Belyakova Northeastern University
18:50
15m
Talk
Gradually Structured DataVirtual
OOPSLA
Stefan Malewski University of Chile, Michael Greenberg Stevens Institute of Technology, Éric Tanter University of Chile
DOI Pre-print
19:05
15m
Talk
Solver-Based Gradual Type MigrationVirtual
OOPSLA
Luna Phipps-Costin University of Massachusetts at Amherst, Carolyn Jane Anderson Wellesley College, Michael Greenberg Stevens Institute of Technology, Arjun Guha Northeastern University
DOI Pre-print
19:20
15m
Talk
SimTyper: Sound Type Inference for Ruby using Type Equality PredictionVirtual
OOPSLA
Milod Kazerounian University of Maryland at College Park, Jeffrey S. Foster Tufts University, Bonan Min Raytheon BBN Technologies
DOI
19:35
15m
Talk
Promises Are Made to Be Broken: Migrating R to Strict SemanticsIn-Person
OOPSLA
Aviral Goel Northeastern University, Jan Ječmen Czech Technical University, Sebastián Krynski Czech Technical University, Olivier Flückiger Northeastern University, Jan Vitek Northeastern University; Czech Technical University
DOI
19:50
20m
Live Q&A
Discussion, Questions and Answers
OOPSLA