From Kurt.Hornik at wu-wien.ac.at  Wed Aug 30 11:03:49 2006
From: Kurt.Hornik at wu-wien.ac.at (Kurt Hornik)
Date: Wed, 30 Aug 2006 11:03:49 +0200
Subject: [Rd] 'CanMakeUseOf' field
In-Reply-To: <17653.20470.199569.870638@stat.math.ethz.ch>
References: <m2wt8sgyo0.fsf@ziti.fhcrc.org>
	<17651.65163.240840.365787@stat.math.ethz.ch>
	<44F4473D.9030203@bank-banque-canada.ca>
	<17652.19292.998960.686119@stat.math.ethz.ch>
	<44F46112.7060809@stats.uwo.ca> <m2d5ajedon.fsf@ziti.fhcrc.org>
	<63945.151.100.49.234.1156923253.squirrel@webmail.lrz-muenchen.de>
	<17653.20470.199569.870638@stat.math.ethz.ch>
Message-ID: <17653.21621.74689.138434@mithrandir.hornik.net>

>>>>> 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




[Rd] 'CanMakeUseOf' field
Kurt Hornik