Promises Are Made to Be Broken: Migrating R to Strict SemanticsIn-Person
Thu 21 Oct 2021 19:35 - 19:50 at Zurich B - Dynamic Languages - mirror Chair(s): Julia Belyakova
Function calls in the R language do not evaluate their arguments, these are passed to the callee as suspended computations and evaluated if needed. After 25 years of experience with the language, there are very few cases where programmers leverage delayed evaluation intentionally and laziness comes at a price in performance and complexity. This paper explores how to evolve the semantics of a lazy language towards strictness-by-default and laziness-on-demand. To provide a migration path, it is necessary to provide tooling for developers to migrate libraries without introducing errors. This paper reports on a dynamic analysis that infers strictness signatures for functions to capture both intentional and accidental laziness. Over 99% of the inferred signatures were correct when tested against clients of the libraries.
Thu 21 OctDisplayed time zone: Central Time (US & Canada) change
10:50 - 12:10 | |||
10:50 15mTalk | 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 15mTalk | 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 15mTalk | 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 15mTalk | 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 20mLive Q&A | Discussion, Questions and Answers OOPSLA |
18:50 - 20:10 | |||
18:50 15mTalk | 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 15mTalk | 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 15mTalk | 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 15mTalk | 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 20mLive Q&A | Discussion, Questions and Answers OOPSLA |