Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

With the scheduled R release of version 2.12.0 this morning, we have just uploaded version 0.8.7 of Rcpp to CRAN; Debian will follow shortly once the autobuilders have processed R 2.12.0

This Rcpp release depends on R 2.12.0 as two things have changed. First, we play along with change in R concerning the ordering of inheritance for time classes. But secondly, and more importantly, we support in Rcpp the corresponding change R itself which brings the new ReferenceClasses. Here is corresponding bit from R’s NEWS file for R 2.12.0:

    o A facility for defining reference-based S4 classes (in the OOP
style of Java, C++, etc.) has been added experimentally to
package methods; see ?ReferenceClasses.

[...]

o An experimental new programming model has been added to package
methods for reference (OOP-style) classes and methods.  See
?ReferenceClasses.

This was made possible in large part by code committed by John Chambers (whom we had welcomed recently as a co-author to Rcpp) building on the changes he made to R 2.12.0 itself, as well on the work Romain had done with ‘Rcpp Modules’. The R help page for ReferenceClasses carries a reference (bad pun) to Rcpp 0.8.7 so these two releases do go together. This should be a lot of fun over the next little while: S3, S4, and now ReferenceClasses.

We also made a number of internal changes some of which leads to speed-ups and internal improvement. The NEWS entry follows below:

0.8.7   2010-10-15

o   As of this version, Rcpp depends on R 2.12 or greater as it interfaces
the new reference classes (see below) and also reflects the POSIXt class
reordering both of which appeared with R version 2.12.0

o   new Rcpp::Reference class, that allows internal manipulation of R 2.12.0
reference classes. The class exposes a constructor that takes the name
of the target reference class and a field(string) method that implements
the proxy pattern to get/set reference fields using callbacks to the
R operators "$" and "$<-" in order to preserve the R-level encapsulation

o   the R side of the preceding item allows methods to be written
in R as per ?ReferenceClasses, accessing fields by name and
assigning them using "

As always, even fuller details are in Rcpp Changelog page and the Rcpp page which also leads to the downloads, the browseable doxygen docs and zip files of doxygen output for the standard formats. A local directory has source and documentation too. Questions, comments etc should go to the rcpp-devel mailing list off the R-Forge page