[Rcpp-devel] macros RCPP_FUNCTION_...,
Dirk Eddelbuettel
edd at debian.org
Tue Jun 18 19:50:33 CEST 2013
On 18 June 2013 at 16:26, Romain Francois wrote:
| Hello,
|
| Who is using the macros RCPP_FUNCTION_0, ..., RCPP_FUNCTION_65, ...
| (i.e. all the macros that live in the preprocessor_generated.h file).
|
| Their functionality is superseded by a much better way of doing it
| (modules).
|
| I'd like to drop them at some point.
|
| Obviously it is not happening overnight, because for starters our own
| RProtoBuf uses them. But I will update RProtoBuf so that it does not.
| There is also uses in the RcppGSL vignette which I will update.
|
|
|
| The file spans >6000 lines of generated code that we could do without.
| To put this into context, this represents about 10% of the lines of the
| .h files in Rcpp.
|
| I don't think many people are using it, and I don't blame them. This was
| an interesting idea when we introduced it, but we have something better now.
Hm, I think my preference would be for a rather long period of deprecation --
at least a year if not more -- before declaring it defunct.
Even then, maybe we should consider to not remove them as we have a good
tradition of maintaining public APIs going forward. So my suggestion would be
to deactivate them behind an #if with a new configuration #define in
RcppConfig.
APIs are contracts we have with users. I would prefer to see strong reasons
for chance, rather than a style preference.
Now, 10% of code is of course a pretty good reason, but is it really making
that much of a difference? The Rcpp package is large, and will remain large
either way. An added #define should make compilaton faster which is good.
Other views?
Dirk
--
Dirk Eddelbuettel | edd at debian.org | http://dirk.eddelbuettel.com
More information about the Rcpp-devel
mailing list