Promises Are Made To Be Broken: Migrating R to Strict Semantics
The result's identifiers
Result code in IS VaVaI
<a href="https://www.isvavai.cz/riv?ss=detail&h=RIV%2F68407700%3A21240%2F21%3A00351843" target="_blank" >RIV/68407700:21240/21:00351843 - isvavai.cz</a>
Result on the web
<a href="https://doi.org/10.1145/3485478" target="_blank" >https://doi.org/10.1145/3485478</a>
DOI - Digital Object Identifier
<a href="http://dx.doi.org/10.1145/3485478" target="_blank" >10.1145/3485478</a>
Alternative languages
Result language
angličtina
Original language name
Promises Are Made To Be Broken: Migrating R to Strict Semantics
Original language description
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.
Czech name
—
Czech description
—
Classification
Type
J<sub>ost</sub> - Miscellaneous article in a specialist periodical
CEP classification
—
OECD FORD branch
10201 - Computer sciences, information science, bioinformathics (hardware development to be 2.2, social aspect to be 5.8)
Result continuities
Project
<a href="/en/project/EF15_003%2F0000421" target="_blank" >EF15_003/0000421: Big Code: Scalable Analysis of Massive Code Bases</a><br>
Continuities
P - Projekt vyzkumu a vyvoje financovany z verejnych zdroju (s odkazem do CEP)
Others
Publication year
2021
Confidentiality
S - Úplné a pravdivé údaje o projektu nepodléhají ochraně podle zvláštních právních předpisů
Data specific for result type
Name of the periodical
Proceedings of the ACM on Programming Languages (PACMPL)
ISSN
2475-1421
e-ISSN
—
Volume of the periodical
5
Issue of the periodical within the volume
OOPSLA
Country of publishing house
US - UNITED STATES
Number of pages
20
Pages from-to
1-20
UT code for WoS article
000731569200005
EID of the result in the Scopus database
2-s2.0-85117615930