Conference paper Open Access

Designing Types for R, Empirically

Alexi; Aviral; Filip; Jan


JSON Export

{
  "files": [
    {
      "links": {
        "self": "https://zenodo.org/api/files/8d847e35-e624-4a85-9682-f5b8d9321cf1/artifact-overview.pdf"
      }, 
      "checksum": "md5:158f5e267c31453720aa1a702b1b48a7", 
      "bucket": "8d847e35-e624-4a85-9682-f5b8d9321cf1", 
      "key": "artifact-overview.pdf", 
      "type": "pdf", 
      "size": 297432
    }, 
    {
      "links": {
        "self": "https://zenodo.org/api/files/8d847e35-e624-4a85-9682-f5b8d9321cf1/OOPSLA20-typer-artifact.tar.gz"
      }, 
      "checksum": "md5:ab3395366668d7daad4b0a23b13ce406", 
      "bucket": "8d847e35-e624-4a85-9682-f5b8d9321cf1", 
      "key": "OOPSLA20-typer-artifact.tar.gz", 
      "type": "gz", 
      "size": 35989789
    }
  ], 
  "owners": [
    74734
  ], 
  "doi": "10.5281/zenodo.4037278", 
  "stats": {
    "version_unique_downloads": 65.0, 
    "unique_views": 115.0, 
    "views": 126.0, 
    "version_views": 126.0, 
    "unique_downloads": 65.0, 
    "version_unique_views": 115.0, 
    "volume": 308738552.0, 
    "version_downloads": 78.0, 
    "downloads": 78.0, 
    "version_volume": 308738552.0
  }, 
  "links": {
    "doi": "https://doi.org/10.5281/zenodo.4037278", 
    "conceptdoi": "https://doi.org/10.5281/zenodo.4037277", 
    "bucket": "https://zenodo.org/api/files/8d847e35-e624-4a85-9682-f5b8d9321cf1", 
    "conceptbadge": "https://zenodo.org/badge/doi/10.5281/zenodo.4037277.svg", 
    "html": "https://zenodo.org/record/4037278", 
    "latest_html": "https://zenodo.org/record/4037278", 
    "badge": "https://zenodo.org/badge/doi/10.5281/zenodo.4037278.svg", 
    "latest": "https://zenodo.org/api/records/4037278"
  }, 
  "conceptdoi": "10.5281/zenodo.4037277", 
  "created": "2020-09-29T00:42:48.693565+00:00", 
  "updated": "2020-09-29T12:26:50.461013+00:00", 
  "conceptrecid": "4037277", 
  "revision": 2, 
  "id": 4037278, 
  "metadata": {
    "access_right_category": "success", 
    "doi": "10.5281/zenodo.4037278", 
    "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>", 
    "language": "eng", 
    "title": "Designing Types for R, Empirically", 
    "license": {
      "id": "CC-BY-4.0"
    }, 
    "relations": {
      "version": [
        {
          "count": 1, 
          "index": 0, 
          "parent": {
            "pid_type": "recid", 
            "pid_value": "4037277"
          }, 
          "is_last": true, 
          "last_child": {
            "pid_type": "recid", 
            "pid_value": "4037278"
          }
        }
      ]
    }, 
    "version": "1.0", 
    "keywords": [
      "R", 
      "Empirical Evaluation", 
      "Dynamic Program Analysis", 
      "Type System"
    ], 
    "publication_date": "2020-09-18", 
    "creators": [
      {
        "affiliation": "Turcotte", 
        "name": "Alexi"
      }, 
      {
        "orcid": "0000-0002-0814-5015", 
        "affiliation": "Goel", 
        "name": "Aviral"
      }, 
      {
        "affiliation": "K\u0159ikava", 
        "name": "Filip"
      }, 
      {
        "affiliation": "Vitek", 
        "name": "Jan"
      }
    ], 
    "access_right": "open", 
    "resource_type": {
      "subtype": "conferencepaper", 
      "type": "publication", 
      "title": "Conference paper"
    }, 
    "related_identifiers": [
      {
        "scheme": "doi", 
        "identifier": "10.5281/zenodo.4037277", 
        "relation": "isVersionOf"
      }
    ]
  }
}
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