Evaluating the Design of the R Language

Objects and Functions for Data Analysis
  • Floréal Morandat
  • Brandon Hill
  • Leo Osvald
  • Jan Vitek
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7313)

Abstract

R is a dynamic language for statistical computing that combines lazy functional features and object-oriented programming. This rather unlikely linguistic cocktail would probably never have been prepared by computer scientists, yet the language has become surprisingly popular. With millions of lines of R code available in repositories, we have an opportunity to evaluate the fundamental choices underlying the R language design. Using a combination of static and dynamic program analysis we assess the success of different language features.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Becker, R.A., Chambers, J.M., Wilks, A.R.: The New S Language. Chapman and Hall (1988)Google Scholar
  2. 2.
    Bobrow, D.G., Kahn, K.M., Kiczales, G., Masinter, L., Stefik, M., Zdybel, F.: In: Conference on Object-Oriented Programming, Languages and Applications, OOPSLA (1986)Google Scholar
  3. 3.
    Chambers, J.M.: Software for Data Analysis: Programming with R. Springer (2008)Google Scholar
  4. 4.
    Chambers, J.M., Hastie, T.J.: Statistical Models in S. Chapman & Hall (1992)Google Scholar
  5. 5.
    Ducournau, R.: Coloring, a Versatile Technique for Implementing Object-Oriented Languages. Software: Practice and Experience 41(6), 627–659 (2011)CrossRefGoogle Scholar
  6. 6.
    Kent Dybvig, R.: The Scheme Programming Language. MIT Press (2009)Google Scholar
  7. 7.
    Gentleman, R., et al. (eds.): Bioinformatics and Computational Biology Solutions Using R and Bioconductor. Statistics for Biology and Health. Springer (2005)Google Scholar
  8. 8.
    Gentleman, R., Ihaka, R.: Lexical scope and statistical computing. Journal of Computational and Graphical Statistics 9, 491–508 (2000)MathSciNetGoogle Scholar
  9. 9.
    Hudak, P., Hughes, J., Peyton Jones, S., Wadler, P.: A history of Haskell: being lazy with class. In: Conference on History of programming languages, HOPL (2007)Google Scholar
  10. 10.
    Ihaka, R., Gentleman, R.: R: A language for data analysis and graphics. Journal of Computational and Graphical Statistics 5(3), 299–314 (1996)Google Scholar
  11. 11.
    Keele, L.: Semiparametric Regression for the Social Sciences. Wiley (2008)Google Scholar
  12. 12.
    Kiczales, G., Rivieres, J.D., Bobrow, D.G.: The Art of the Metabobject Protocol: The Art of the Metaobject Protocol. MIT Press (1991)Google Scholar
  13. 13.
    Mitchell, E.G.: Functional programming through deep time: modeling the first complex ecosystems on earth. In: Conference on Functional Programming, ICFP (2011)Google Scholar
  14. 14.
    Parr, T., Fisher, K.: Ll(*): the foundation of the Antlr parser generator. In: Conference on Programming Language Design and Implementation, PLDI (2011)Google Scholar
  15. 15.
    R Development Core Team: R: A Language and Environment for Statistical Computing. R Foundation for Statistical Computing (2011)Google Scholar
  16. 16.
    R Development Core Team: The R language definition. R Foundation for Statistical Computing, http://cran.r-project.org/doc/manuals/R-lang.html
  17. 17.
    Richards, G., Lesbrene, S., Burg, B., Vitek, J.: An analysis of the dynamic behavior of JavaScript programs. In: Conference on Programming Language Design and Implementation, PLDI (2010)Google Scholar
  18. 18.
    Smith, D.: The R ecosystem. In: The R User Conference 2011 (August 2011)Google Scholar
  19. 19.
    Steele Jr., G.L.: Common LISP: the language, 2nd edn. Digital Press (1990)Google Scholar
  20. 20.
    Ungar, D., Smith, R.B.: Self: The power of simplicity. In: Conference on Object-Oriented Programming, Languages and Applications, OOPSLA (1987)Google Scholar
  21. 21.
    Wright, A.K., Felleisen, M.: A syntactic approach to type soundness. Information and Computation 115, 38–94 (1992)MathSciNetCrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Floréal Morandat
    • 1
  • Brandon Hill
    • 1
  • Leo Osvald
    • 1
  • Jan Vitek
    • 1
  1. 1.Purdue UniversityUSA

Personalised recommendations