On 2012-08-26 19:03, Prof Brian Ripley wrote:
On 26/08/2012 17:25, Laurent Gautier wrote:
Hi,
I just stumbled on the following apparent oddity: the package "datasets"
does not appear to export anything out of its namespace:
> ns_datasets <- getNamespace('datasets')
> getNamespaceExports(ns_datasets)
character(0)
Not the case with other packages (example here with "utils"):
> ns_utils <- getNamespace('utils')
> head(getNamespaceExports(ns_utils))
[1] "?" ".DollarNames" "adist" "alarm" "apropos"
[6] "aregexec"
Is this a temporary glitch, or is there something new and specific to
"datasets" ?
Not new, been so since R 2.14.0.
The package contains no R code: the only reason it has a namespace is
that since 2.14.0 all packages must have one.
There are other data-only packages, but not in base R.
Lazy-loaded data has not been part of the namespace for a long time:
they are directly in the package's environment. The reason is the
namespace scoping rules: if the package's datasets were in its
namespace, they would be found before any other dataset of that name
by the package's R functions.
Thanks for the quick answer and explanations. The last paragraph above
is leaving me with the wish to understand more before I comment on it.
Would you have an example of finding a dataset in a package's namespace
(before a dataset with the same name in an other package further down in
the search path) being a problem ?
Best,
Laurent
______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel