Designing types for R, empirically

Designing types for R, empirically
复制标题

根据经验设计 R 类型

DOI:
10.1145/3428249
复制
发表时间:
2020
影响因子:
--
通讯作者:
Vitek, Jan
Vitek, Jan
中科院分区:
--
文献类型:
--
作者:
Turcotte, Alexi;Goel, Aviral;Křikava, Filip;Vitek, Jan

文献摘要

参考文献

被引文献

相似文献

R编程语言广泛应用于各种领域。它被设计成一种交互式的编程风格,具有最小的语法和概念开销。这种设计非常适合数据分析,但不适合编译器或程序分析器等工具。特别是,R没有类型注释,所有操作都在运行时动态检查。我们工作的出发点是两个问题:需要什么样的表达能力才能准确地键入R代码?R社区愿意采用哪种类型的系统?这两个问题都很难回答,除非实际上对类型系统进行试验。本文的目标是提供可以输入到设计过程中的数据。为此,我们进行了大型语料库分析,以深入了解惯用R代码所表现出的多态性程度,并探索R社区可以从简单类型系统中获得的潜在好处。作为一个起点,我们从最广泛使用的开源R库中的412个包中推断出25,215个函数的类型签名。然后,我们对这些软件包的8,694个客户端以及来自Kaggle数据科学竞赛网站的最终用户代码进行了评估。
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 data analysis, but a bad fit for tools such as compilers or program analyzers. In particular, R has no type annotations, and all operations are dynamically checked at run-time. The starting point for our work are the two questions:what expressive power is needed to accurately type R code?andwhich 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 from the Kaggle data science competition website.
跟踪类型:一种评估改装类型系统的方法
DOI: --
发表时间: 2016
期刊: European Conference on Object-Oriented Programming
影响因子: --
作者:
Esben Andreasen;Colin S. Gordon;S. Chandra;Manu Sridharan;F. Tip;Koushik Sen
通讯作者: Koushik Sen
在脚本语言中集成类型化和非类型化代码
DOI: 10.1145/1706299.1706343
发表时间: 2010
影响因子: --
作者:
Tobias Wrigstad;Francesco Zappa Nardelli;Sylvain Lebresne;Johan Östlund;J. Vitek
通讯作者: J. Vitek
DOI: 10.1145/3385412.3385997
发表时间: 2020-04
期刊: Proceedings of the 41st ACM SIGPLAN Conference on Programming Language Design and Implementation
影响因子: --
作者:
Miltiadis Allamanis;Earl T. Barr;Soline Ducousso;Zheng Gao
通讯作者: Miltiadis Allamanis;Earl T. Barr;Soline Ducousso;Zheng Gao
关于 R 中惰性的设计、实现和使用
DOI: --
发表时间: 2019
期刊: Proc. ACM Program. Lang.
影响因子: --
作者:
Aviral Goel;J. Vitek
通讯作者: J. Vitek
向 C 添加动态类型
DOI: 10.1007/978-3-642-14107-2_5
发表时间: 2010
期刊: Proceedings of the 18th International Workshop on Software and Compilers for Embedded Systems
影响因子: --
作者:
G. Bierman;E. Meijer;Mads Torgersen
通讯作者: Mads Torgersen