[Rcpp-devel] changes in Rcpp today

Dirk Eddelbuettel edd at debian.org
Tue Dec 29 22:38:12 CET 2009


On 29 December 2009 at 21:31, Romain François wrote:
| Right, so trying to cope with the many threads of today. I've commited a 
| few changes to Rcpp :
| 
| - new namespace Rcpp, which will receive the new API
| - the class Rcpp::RObject holds a SEXP and performs operations that are 
| doable on any SEXP (manage attributes, garbage collection, etc ...). It 
| contains the functionality that was in RcppSexp before

That's not bad. Parts of me find the Rcpp::RObject combination too long. I
guess I will get used to it.  Should we should for Rcpp::RObj given that ...

| - the template Rcpp::XPtr replaces RcppXPtr, but now extends 
| Rcpp::RObject, so that it can concentrate on external pointer stuff and 
| leave the generic SEXP management to Rcpp::RObject

... XPtr is also a 'shrunken' term? 

| I've set up the package so that we can add unit tests using RUnit and 
| the Gorjanc/MM/... trick
| 
| examples now use the Rcpp namespace where appropriate.
| 
| 
| It does not break anything (yet) so code that used to work in Rcpp < 0.7 
| still works. RcppSexp and RcppXPtr did get the 5 second rule treatment 
| thought.

And that is why we should release as 0.7.1 (fine by me) or 0.8.0 (also
defebnsible ASAP).

The stickler in me hates this, by the way:

Vignettes with missing or empty \VignetteIndexEntry:
[1] "Rcpp-unitTests"
See the information on INDEX files and package subdirectories in the
chapter 'Creating R packages' of the 'Writing R Extensions' manual.
 
| Things on my list:
| - rework the examples as regular unit tests
| - maybe a vignette
| - post on my blog about these
| - Rcpp::Function : this will overload operator() so that the object 
| looks like a C++ function and will have stuff to deal with the 
| environment of a function (closure)

Cool.

| - Rcpp::S4 : things to deal with slots
| - Rcpp::Env : (or Rcpp::Environment) retrieve object from the 
| environment, ...

Also cool.

| - Rcpp::Vector : handling of integer, numeric, raw, character vector 
| with for example operator[]. I'll review the Rcpp*Vector classes for that.

Yes,  that can with a redesign / some new thinking. That _is_ the bread and
butter of the package.
 
| All of these can happen before or after we release a new version to 
| CRAN. Maybe unit tests should happen though as we already have pretty 
| much all the code.

All of these can be delayed!   There can be (should be) many small
releases. I don't like our RProtoBuf release management (== no release yet!)
all that much.

| It is late in france now, so that is it for today.

Quite the day. Kudos!


Nice blog post, but the formatting is a little screwed up in the middle past
", so for example" and you miss a closing ) after "at least for this post".

Dirk

-- 
Three out of two people have difficulties with fractions.


More information about the Rcpp-devel mailing list