[Rd] Packages that require other packages - How?

Kasper Daniel Hansen khansen at stat.Berkeley.EDU
Wed Nov 9 19:31:00 CET 2005


On Nov 9, 2005, at 9:22 AM, Duncan Murdoch wrote:

> On 11/9/2005 11:50 AM, Gavin Simpson wrote:
>> Dear list,
>>
>> The help page for library/require contains the following paragraph in
>> the section "Packages that require other packages":
>>
>>      The source code for a package that requires one or more other
>>      packages should have a call to 'require', preferably near the
>>      beginning of the source, and of course before any code that uses
>>      functions, classes or methods from the other package.
>>
>> Now, I'm being very dense today, but I don't know where to put such a
>> call to require.
>>
>> My package has added methods for a generic function supplied by  
>> another
>> package. I have listed this package in the Depends field in my
>> DESCRIPTION.
>>
>> What do I need to do to have the package that my package depends  
>> on be
>> attached when I call library or require to attach my package?
>>
>> Apologies for being dense...
>
> You can either put a call to require() in the function that needs it
> (which would be the best solution if that function is relatively  
> rarely
> used), or in the startup code (in .First.lib, .onLoad, or .onAttach:
> see the manual for the differences) if you make extensive use of the
> other package.

But isn't it true that the introduction of the DEPENDS field in the  
description file, largely makes calls to require obsolete? My  
impression is that require calls are mostly used to make examples  
execute if the depend on a suggested package. I may be wrong of course.

Kasper



More information about the R-devel mailing list