The R programming language has been lazy for over twenty-five years. This
paper presents a review of the design and implementation of call-by-need in
R, and a data-driven study of how generations of programmers have put
laziness to use in their code. We analyze 16,707 packages and
observe the creation of 270.9 B promises. Our data suggests that there is
little supporting evidence to assert that programmers use laziness to avoid
unnecessary computation or to operate over infinite data structures. For the
most part R code appears to have been written without reliance on, and in
many cases even knowledge of, delayed argument evaluation. The only significant
exception is a small number of packages which leverage call-by-need for
meta-programming.
Thu 24 OctDisplayed time zone: Beirut change
14:00 - 15:30 | |||
14:00 22mTalk | On the Impact of Programming Languages on Code QualityTOPLAS OOPSLA Emery D. Berger University of Massachusetts Amherst, Celeste Hollenbeck Northeastern University, Petr Maj Czech Technical University, Olga Vitek Northeastern University, Jan Vitek Northeastern University Link to publication DOI Pre-print | ||
14:22 22mTalk | Casting about in the Dark: An Empirical Study of Cast Operations in Java Programs OOPSLA Luis Mastrangelo Università della Svizzera italiana, Matthias Hauswirth Università della Svizzera italiana, Nate Nystrom Università della Svizzera italiana DOI | ||
14:45 22mTalk | On the Design, Implementation, and Use of Laziness in R OOPSLA DOI Pre-print | ||
15:07 22mTalk | Aroma: Code Recommendation via Structural Code Search OOPSLA Sifei Luan Facebook, Inc., Di Yang University of California, Irvine, Celeste Barnaby Facebook, Inc., Koushik Sen University of California, Berkeley, Satish Chandra Facebook DOI |