Promises are made to be broken: migrating R to strict semantics
Promises are made to be broken: migrating R to strict semantics
复制标题
承诺是用来打破的:将 R 迁移到严格语义
DOI:
10.1145/3485478
复制
发表时间:
2021
影响因子:
--
通讯作者:
Vitek, Jan
中科院分区:
文献类型:
--
作者:
Goel, Aviral;Ječmen, Jan;Krynski, Sebastián;Flückiger, Olivier;Vitek, Jan
Function calls in the R language do not evaluate their arguments, these are passed to the callee as suspended computations and evaluated if needed. After 25 years of experience with the language, there are very few cases where programmers leverage delayed evaluation intentionally and laziness comes at a price in performance and complexity. This paper explores how to evolve the semantics of a lazy language towards strictness-by-default and laziness-on-demand. To provide a migration path, it is necessary to provide tooling for developers to migrate libraries without introducing errors. This paper reports on a dynamic analysis that infers strictness signatures for functions to capture both intentional and accidental laziness. Over 99% of the inferred signatures were correct when tested against clients of the libraries.
登录
查看更多内容
DOI:
10.1145/3359619.3359744
发表时间:
2019
期刊:
Proceedings of the 15th ACM SIGPLAN International Symposium on Dynamic Languages
影响因子:
--
作者:
O. Flückiger;Guido Chari;Jan Jecmen;Ming;Jakob Hain;J. Vitek
通讯作者:
J. Vitek
影响因子:
1.1
作者:
Chris Okasaki
通讯作者:
Chris Okasaki
DOI:
--
发表时间:
2016
期刊:
ACM SIGPLAN Symposium/Workshop on Haskell
影响因子:
--
作者:
Y. Wang;Diogenes Nunez;Kathleen Fisher
通讯作者:
Kathleen Fisher
DOI:
--
发表时间:
2015
期刊:
PeerJ Preprints
影响因子:
--
作者:
Karan Aggarwal;Mohammad Salameh;Abram Hindle
通讯作者:
Abram Hindle
DOI:
--
发表时间:
2003
期刊:
ACM SIGPLAN International Conference on Functional Programming
影响因子:
--
作者:
Robert Ennals;S. Jones
通讯作者:
S. Jones