Conference paper Open Access

Designing Types for R, Empirically

Alexi; Aviral; Filip; Jan


Dublin Core Export

<?xml version='1.0' encoding='utf-8'?>
<oai_dc:dc xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd">
  <dc:creator>Alexi</dc:creator>
  <dc:creator>Aviral</dc:creator>
  <dc:creator>Filip</dc:creator>
  <dc:creator>Jan</dc:creator>
  <dc:date>2020-09-18</dc:date>
  <dc:description>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, and all operations are dynamically checked at run-time. The starting point for our work are the twin questions: what expressive power is needed to accurately type R code? and 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 25,215 functions from 412 packages among the most widely used open source R libraries. We then conduct an evaluation on 8,694 clients of these packages, as well as on end-user code found on the Kaggle competition website.</dc:description>
  <dc:identifier>https://zenodo.org/record/4037278</dc:identifier>
  <dc:identifier>10.5281/zenodo.4037278</dc:identifier>
  <dc:identifier>oai:zenodo.org:4037278</dc:identifier>
  <dc:language>eng</dc:language>
  <dc:relation>doi:10.5281/zenodo.4037277</dc:relation>
  <dc:rights>info:eu-repo/semantics/openAccess</dc:rights>
  <dc:rights>https://creativecommons.org/licenses/by/4.0/legalcode</dc:rights>
  <dc:subject>R</dc:subject>
  <dc:subject>Empirical Evaluation</dc:subject>
  <dc:subject>Dynamic Program Analysis</dc:subject>
  <dc:subject>Type System</dc:subject>
  <dc:title>Designing Types for R, Empirically</dc:title>
  <dc:type>info:eu-repo/semantics/conferencePaper</dc:type>
  <dc:type>publication-conferencepaper</dc:type>
</oai_dc:dc>
125
77
views
downloads
All versions This version
Views 125125
Downloads 7777
Data volume 308.4 MB308.4 MB
Unique views 114114
Unique downloads 6464

Share

Cite as