[Rd] Stop packages and datasets to be loaded on startup.

Dirk Eddelbuettel edd at debian.org
Sat Jan 30 18:36:02 CET 2010


On 30 January 2010 at 17:08, Guillaume Yziquel wrote:
| Hi.
| 
| I would like to know how to start an embedded R session, and avoid 
| datasets and the standard library packages to be loaded on startup.
| 
| I've been looking at littler's code (so this is partly a question to 
| Dirk Eddelbuettel...):

Credit where credit is due. Littler is a project by Jeff Horner and myself
building on Jeff's work with rapache which is another industry-strength use
of embedding of the R engine.

| >         /* We don't require() default packages upon startup; rather, we
| >          * set up delayedAssign's instead. see autoloads().
| >          */
| >         if (setenv("R_DEFAULT_PACKAGES","NULL",1) != 0){
| >                 perror("ERROR: couldn't set/replace R_DEFAULT_PACKAGES");
| >                 exit(1);
| >         }
| 
| The code above happens before Rf_initEmbeddedR in littler.
| 
| So I gather that just setting R_DEFAULT_PACKAGES to NULL should be OK. 

Yes, see Simon's reply.

| But then, what is the rather complicated stuff in the autoload() 
| function in littler.c for?

We load what we need for littler. And nothing more. See autoloads.h which is
autogenerated by make using autoloads.R during the build process.

Doing what we do here the way it is done ensures we start quicker than
Rscript (which wasn't released when we started anyway).  And what is done
here is also done in my RInside project which now builds on Windows. So if we
really wanted, we could port littler to Windows.  But neither Jeff nor I feel
a particular urge for getting into that. 
 
| And concerning datasets, how do you avoid loading them?

Maybe by not loading the datasets package?  But note that packages may fail
their examples.

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



More information about the R-devel mailing list