On 05/13/2012 12:14 PM, Jeroen Ooms wrote:
On Sun, May 13, 2012 at 10:14 AM, Uwe Ligges
<lig...@statistik.tu-dortmund.de> wrote:
I do not see any problem in R. If someone is going to import a Namespace, he
or she has to do that via import directives in the NAMESPACE file. If
someone is going to have a package on the search path, he or she has to
require() it. The DESCRIPTION file is used to derive the dependency
structures among packages for installation order, check order etc.
I am not sure everyone is aware of this. Many package authors seem to
be assuming that having a package in the Depends field of the
DESCRIPTION is a sufficient condition for having the dependency
package available at runtime, regardless of how the function is
invoked by the user. I think this is the usual meaning of a
I think this is because name spaces are relatively new, so authors are
yet to realize the consequences of not importing the definitions their
package uses.
As a package developer, I want to have the code my package sees be
exactly what is needed, and no more. There are many good reasons for
this, including isolating as much as possible my code from changes in
other packages and minimizing the costs of symbol look-up. These issues
become increasing important as the hierarchy of package relationships
becomes deep.
The best practice is for authors to import all necessary symbols, but no
more!
Martin
dependency. There are a lot of packages on CRAN that use Depends and
are not explicitly importing anything. Among others, this holds for
any package without a NAMESPACE file.
Also looking at the definition of the 'Depends' field in the 'writing
r extensions' manual there is not a single hint that Depends is not
sufficient for having the package available at runtime, and any
function that is used should still be manually imported or required()
as you suggest.
______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
--
Computational Biology
Fred Hutchinson Cancer Research Center
1100 Fairview Ave. N. PO Box 19024 Seattle, WA 98109
Location: M1-B861
Telephone: 206 667-2793
______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel