Dirk Eddelbuettel a écrit :

| 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.

No harm intended.

| >         /* 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.

I had a look at help(Autoload):

On-demand Loading of Packages

Description:

     ‘autoload’ creates a promise-to-evaluate ‘autoloader’ and stores
     it with name ‘name’ in ‘.AutoloadEnv’ environment.  When R
     attempts to evaluate ‘name’, ‘autoloader’ is run, the package is
     loaded and ‘name’ is re-evaluated in the new package's
     environment.  The result is that R behaves as if ‘file’ was loaded
     but it does not occupy memory.

     ‘.Autoloaded’ contains the names of the packages for which
     autoloading has been promised.

But I do not understand a few things about it:

-1- If I do not want autoloading, I should simply remove the .AutoloadEnv environment? Or keep it empty?

-2- How is this environment populated at startup? How can I ensure that it be empty?

| And concerning datasets, how do you avoid loading them?

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

Thanks a lot.

--
     Guillaume Yziquel
http://yziquel.homelinux.org/

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to