[Rd] Package "datasets" not exporting anything on a recent R-2.15.1-patched

Laurent Gautier lgautier at gmail.com
Sun Aug 26 19:20:43 CEST 2012


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



More information about the R-devel mailing list