Conference paper Open Access

Designing Types for R, Empirically

Alexi; Aviral; Filip; Jan


DataCite XML Export

<?xml version='1.0' encoding='utf-8'?>
<resource xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://datacite.org/schema/kernel-4" xsi:schemaLocation="http://datacite.org/schema/kernel-4 http://schema.datacite.org/meta/kernel-4.1/metadata.xsd">
  <identifier identifierType="DOI">10.5281/zenodo.4037278</identifier>
  <creators>
    <creator>
      <creatorName>Alexi</creatorName>
      <affiliation>Turcotte</affiliation>
    </creator>
    <creator>
      <creatorName>Aviral</creatorName>
      <nameIdentifier nameIdentifierScheme="ORCID" schemeURI="http://orcid.org/">0000-0002-0814-5015</nameIdentifier>
      <affiliation>Goel</affiliation>
    </creator>
    <creator>
      <creatorName>Filip</creatorName>
      <affiliation>Křikava</affiliation>
    </creator>
    <creator>
      <creatorName>Jan</creatorName>
      <affiliation>Vitek</affiliation>
    </creator>
  </creators>
  <titles>
    <title>Designing Types for R, Empirically</title>
  </titles>
  <publisher>Zenodo</publisher>
  <publicationYear>2020</publicationYear>
  <subjects>
    <subject>R</subject>
    <subject>Empirical Evaluation</subject>
    <subject>Dynamic Program Analysis</subject>
    <subject>Type System</subject>
  </subjects>
  <dates>
    <date dateType="Issued">2020-09-18</date>
  </dates>
  <language>en</language>
  <resourceType resourceTypeGeneral="Text">Conference paper</resourceType>
  <alternateIdentifiers>
    <alternateIdentifier alternateIdentifierType="url">https://zenodo.org/record/4037278</alternateIdentifier>
  </alternateIdentifiers>
  <relatedIdentifiers>
    <relatedIdentifier relatedIdentifierType="DOI" relationType="IsVersionOf">10.5281/zenodo.4037277</relatedIdentifier>
  </relatedIdentifiers>
  <version>1.0</version>
  <rightsList>
    <rights rightsURI="https://creativecommons.org/licenses/by/4.0/legalcode">Creative Commons Attribution 4.0 International</rights>
    <rights rightsURI="info:eu-repo/semantics/openAccess">Open Access</rights>
  </rightsList>
  <descriptions>
    <description descriptionType="Abstract">&lt;p&gt;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.&lt;/p&gt;</description>
  </descriptions>
</resource>
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