Designing Types for R, Empirically
The R programming language is widely used in a variety of domains. It was designed to favor an interactive style of programming with minimal syntactic and conceptual overhead. This design is well suited to interactive data analysis, but a bad fit for tools such as compilers or program analyzers which must generate native code or catch programming errors. In particular, R has no type annotations, all operations are dynamically checked at run-time. The starting point for our work are the twin questions, \emph{what expressive power is needed to accurately type R code?} and \emph{which type system is the R community willing to adopt?} Both questions are difficult to answer without actually experimenting with a type system. The goal of this paper is to provide data that can feed into that design process. To this end, we perform a large corpus analysis to gain insights in the degree of polymorphism exhibited by idiomatic R code and explore potential benefits that the R community could accrue from a simple type system. As a starting point, we infer type signatures for 20214 functions from 412 packages among the most widely used open source R libraries.
Wed 20 OctDisplayed time zone: Central Time (US & Canada) change
10:50 - 12:10 | OOPSLA 2020 Papers 1SIGPLAN Papers at Zurich G Chair(s): John Renner University of California at San Diego, USA | ||
10:50 15mTalk | Can Advanced Type Systems Be Usable? An Empirical Study of Ownership, Assets, and Typestate in Obsidian SIGPLAN Papers Michael Coblenz University of Maryland at College Park, Jonathan Aldrich Carnegie Mellon University, Brad A. Myers Carnegie Mellon University, Joshua Sunshine Carnegie Mellon University Link to publication | ||
11:05 15mTalk | Designing Types for R, Empirically SIGPLAN Papers Alexi Turcotte Northeastern University, Aviral Goel Northeastern University, Filip Křikava Czech Technical University, Jan Vitek Northeastern University; Czech Technical University | ||
11:20 15mTalk | Deductive Optimization of Relational Data Storage SIGPLAN Papers John Feser Massachusetts Institute of Technology, Sam Madden Massachusetts Institute of Technology, Nan Tang QCRI HBKU, Armando Solar-Lezama Massachusetts Institute of Technology | ||
11:35 15mTalk | Digging for Fold: Synthesis-Aided API Discovery for Haskell SIGPLAN Papers Michael B. James University of California at San Diego, Zheng Guo University of California, San Diego, Ziteng Wang University of California at San Diego, Shivani Doshi University of California at San Diego, Hila Peleg Technion, Ranjit Jhala University of California at San Diego, Nadia Polikarpova University of California at San Diego | ||
11:50 20mLive Q&A | Discussion, Questions and Answers SIGPLAN Papers |