R: On-demand Loading of Packages (original) (raw)

autoload {base} R Documentation

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 ifpackage was loaded but it does not occupy memory.

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

Usage

autoload(name, package, reset = FALSE, ...)
autoloader(name, package, ...)

.AutoloadEnv
.Autoloaded

Arguments

name string giving the name of an object.
package string giving the name of a package containing the object.
reset logical: for internal use by autoloader.
... other arguments to library.

Value

This function is invoked for its side-effect. It has no return value.

See Also

[delayedAssign](../../base/help/delayedAssign.html), [library](../../base/help/library.html)

Examples

require(stats)
autoload("interpSpline", "splines")
search()
ls("Autoloads")
.Autoloaded

x <- sort(stats::rnorm(12))
y <- x^2
is <- interpSpline(x, y)
search() ## now has splines
detach("package:splines")
search()
is2 <- interpSpline(x, y+x)
search() ## and again
detach("package:splines")

[Package _base_ version 4.6.0 Index]