blob: 64f30e0d083e2830fdb2add7bf5a5092ed19d3de [file] [log] [blame]
% File src/library/base/man/lazyload.Rd
% Part of the R package, https://www.R-project.org
% Copyright 1995-2011 R Core Team
% Distributed under GPL 2 or later
\name{lazyLoad}
\alias{lazyLoad}
\alias{lazyLoadDBexec}
\title{Lazy Load a Database of R Objects}
\description{
Internal functions to lazy load a database of \R objects.
}
\usage{
lazyLoad(filebase, envir = parent.frame(), filter)
lazyLoadDBexec(filebase, fun, filter)
}
\arguments{
\item{filebase}{The file path to the database, with no extension.}
\item{envir}{The environment into which objects are loaded.}
\item{filter}{An optional function which when called on a a character
vector of object names returns a logical vector: only objects for
which this is true will be loaded.}
\item{fun}{Function of one argument, an environment.}
}
\details{
These are internal functions for use only by \R itself.
The function \code{lazyLoad} is the workhorse function called by the
package loader to load the code for a package from a database. The
database consists of two binary files, \file{\var{filebase}.rdb} (the
objects) and \file{\var{filebase}.rdx} (an index).
The objects are not themselves loaded into \code{envir}: rather
promises are created that will load the object from the database on
first access. (See \code{\link{delayedAssign}}.)
The function \code{lazyLoadDBexec} contains the core implementation
and is also used by the mechanism for loading processed help file
data.
}
\author{Luke Tierney}
\keyword{internal}