Programming paradigms help us understand the differences and similarities between fundamental choices in language design. This paper looks at R in the context of three paradigms of object oriented programming: mutable vs. immutable objects, generic-function vs message-passing methods, and class-based vs. prototype-based inheritance.
The paper also describes a new OO package for R, mutatr, which provides mutable objects with message-passing methods and prototype-based inheritance. The mutatr package is available on CRAN.
@Article{mutatr,
author = {Hadley Wickham},
doi = {10.1007/s00180-011-0235-7},
journal = {Computational Statistics},
note = {Special issue for Proceedings of the 6th International Workshop on Directions in Statistical Computing.},
number = {3},
pages = {405––418},
title = {mutatr: mutable objects for R},
volume = {26},
year = {2011},
bdsk-url-1 = {http://dx.doi.org/10.1007/s00180-011-0235-7},
}