'CanMakeUseOf' field
Martin Maechler writes:
"FrL" == friedrich leisch <friedrich.leisch at stat.uni-muenchen.de>
on Wed, 30 Aug 2006 09:34:13 +0200 (MEST) writes:
Duncan Murdoch <murdoch at stats.uwo.ca> writes:
I think we need an option to R CMD check rather than a new field in the DESCRIPTION. Currently a package could be mentioned for any of these reasons: 1. To make functions, examples or vignettes work 2. To allow optional functionality in functions, examples or vignettes. 3. Because it contains complementary functions. I don't think we really need to worry about 3: it should be contained in 1 or 2, if reasonably complete examples are given. Case 1 is handled by Depends.
I think there is an important distinction between a dependency needed for the package to function and a dependency needed to demonstrate said functionality via an example or vignette. The former is what Depends is about, the latter is something else (Suggests).
FrL> Sorry to join in late, I am at the Compstat conference and have limited FrL> email access. What Seth describes in the above paragraph is exactly what I FrL> had in mind when splitting the single Depends field we had into Depends FrL> and Suggests: Depends are a necessity to run the package, Suggests is nice FrL> to have but not necessary. If you know how to use a package you may the FrL> decide not to install a package that is only suggested, but FrL> * may not be interested to execute the examples, FrL> * know that you never need the extra functionality FrL> * ... FrL> so it should not be auto-installed unless you ask for FrL> it (the default could also be the other way round, the FrL> point is that it should be possible to have package foo FrL> but not the packages it only suggests). On CRAN we FrL> check with all suggestions to test all bits and pieces, FrL> having an option in R CMD check to test only with FrL> suggests may be nice, if there is use for it.
...
Further, I think "2)" above is not taken care of anyway.
After all the interesting statements and alternative proposals,
I'm still proposing to introduce a 'canUse' field for DESCRIPTION
which
a) has a "human-readable intent" of being weaker than 'Suggests'
b) will not require its packages to be available for R CMD check
c) conveys extra information about the package's context, to humans, and
d) will potentially be used in automated or semi-manual
``R package database management''
Martin, I don't think such info should be human-readable. It should be in a standardized format so that we can have tools to compute on such information. E.g., a simple subject-predicate-object model as used in the W3C's semantic web. I am slightly nervous about moving in this direction, though, as I think it implies that repository maintainers deploy processes which validate the semantics of the package metadata. But eventually we will have to do this in any case. -k