Conference paper Open Access

Designing Types for R, Empirically

Alexi; Aviral; Filip; Jan


JSON-LD (schema.org) Export

{
  "inLanguage": {
    "alternateName": "eng", 
    "@type": "Language", 
    "name": "English"
  }, 
  "description": "<p>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.</p>", 
  "license": "https://creativecommons.org/licenses/by/4.0/legalcode", 
  "creator": [
    {
      "affiliation": "Turcotte", 
      "@type": "Person", 
      "name": "Alexi"
    }, 
    {
      "affiliation": "Goel", 
      "@id": "https://orcid.org/0000-0002-0814-5015", 
      "@type": "Person", 
      "name": "Aviral"
    }, 
    {
      "affiliation": "K\u0159ikava", 
      "@type": "Person", 
      "name": "Filip"
    }, 
    {
      "affiliation": "Vitek", 
      "@type": "Person", 
      "name": "Jan"
    }
  ], 
  "headline": "Designing Types for R, Empirically", 
  "image": "https://zenodo.org/static/img/logos/zenodo-gradient-round.svg", 
  "datePublished": "2020-09-18", 
  "url": "https://zenodo.org/record/4037278", 
  "version": "1.0", 
  "keywords": [
    "R", 
    "Empirical Evaluation", 
    "Dynamic Program Analysis", 
    "Type System"
  ], 
  "@context": "https://schema.org/", 
  "identifier": "https://doi.org/10.5281/zenodo.4037278", 
  "@id": "https://doi.org/10.5281/zenodo.4037278", 
  "@type": "ScholarlyArticle", 
  "name": "Designing Types for R, Empirically"
}
126
78
views
downloads
All versions This version
Views 126126
Downloads 7878
Data volume 308.7 MB308.7 MB
Unique views 115115
Unique downloads 6565

Share

Cite as