Best way to implement optional functions?
On 22 October 2015 at 22:55, Duncan Murdoch <murdoch.duncan at gmail.com> wrote:
I'm planning on adding some new WebGL functionality to the rgl package, but it will pull in a very large number of dependencies. Since many people won't need it, I'd like to make the new parts optional.
Can people suggest other packages that solve this kind of problem in a good way?
I had the same issue with the assertive package: it was getting big, and not everyone wanted all the functionality. The solution was to create several smaller packages with individual components of functionality, for example assertive.base contains the bare-minimum functionality; assertive.numbers contains functionality related to numbers, etc. Then the assertive package imports all the functions from the component packages and reexports them. That way people who want a small footprint (mostly other package developers) can specify only what they need, and people who don't care (mostly end users) can just type library(assertive) and get access to everything.
Regards, Richie Learning R 4dpiecharts.com