[Rd] legitimate use of :::

Uwe Ligges ligges at statistik.tu-dortmund.de
Fri Aug 23 00:41:42 CEST 2013



On 23.08.2013 00:36, Brian Lee Yung Rowe wrote:
> You raise an interesting point that I've mulled over a bit: namespace collisions. How many of these issues would go away if there were a better mechanism for managing namespaces? eg in other languages you can control which objects/modules you wish to import from a library. Under this regime I think package developers would be less concerned about exposing functions that otherwise would be private.


Exactly, the corresponding NAMESPACE directive is

importFrom()

and it should be used.


> On Aug 22, 2013, at 6:27 PM, Gabor Grothendieck <ggrothendieck at gmail.com> wrote:
>
>> If ::: is disallowed then its likely that package developers will need
>> to export more functions to satisfy the consumers of those otherwise
>> hidden functions but if more functions are exported then there
>> will be a greater likelihood of conflicts among packages.
>>
>> The problem seems to be that there are potentially three sorts of
>> functions here:
>>
>> 1. a function is hidden
>> 2. a function is accessible via ::: but is not on the search path
>> 3. a function is on the search path
>

Not entirely right:

If the package or only parts of it are imported via importFrom by 
another package, the package is not loaded, hence not on the search path.

Best,
Uwe Ligges


>> The problem arises in attempting to force fit these three concepts
>> into only two
>> categories either by removing the first category (as was done previously)
>> or by removing the second category (which seems to be the new approach).



More information about the R-devel mailing list