From sfalcon at fhcrc.org  Tue Aug 29 16:35:36 2006
From: sfalcon at fhcrc.org (Seth Falcon)
Date: Tue, 29 Aug 2006 07:35:36 -0700
Subject: [Rd] PATCH: Add fields argument to installed.packages and
	available.packages
In-Reply-To: <17651.65163.240840.365787@stat.math.ethz.ch> (Martin Maechler's
	message of "Tue, 29 Aug 2006 10:44:59 +0200")
References: <m2wt8sgyo0.fsf@ziti.fhcrc.org>
	<17651.65163.240840.365787@stat.math.ethz.ch>
Message-ID: <m2veobfw3r.fsf@ziti.fhcrc.org>

Martin Maechler <maechler at stat.math.ethz.ch> writes:
> I like the idea and will look into applying the patch
> (note there's at least one typo which makes "make check" fail:
>  /priotiry/)

Great.  Sorry for the typo, I've sent an update privately.

> A propos:
>
> A while back (in last summer?), we (some of R-core) have
> discussed about a new field to be added to DESCRIPTION,
> and AFAIR, the only problem we had, is to find a name we
> all liked.
> Or was there more then the name alone, and some where convinced
> that it is superfluous and hence too complicated.
>
> The idea was a field related to but weaker than 'Suggests' :
> Something like
>      'canMakeUseOf: <pkg1> [, <pkg2>, ... ]
> which is *not* used in any QA/QC checking, but is purely
> informative: If <pkg1> is require()able, then some examples may
> look nicer, a function may provide another feature, etc, etc.
> Alternatives to 'canMakeUseOf' would have been
> 'isHappilyCoworkingWith' ....
>
> What do you (R-devel listeners) think about the idea?

Some thoughts:

* Beyond strict dependencies, it is useful for a package to be able to
  declare that it "can use" other packages to provide additional
  features _which may be platform specific_.

* It is useful to be able to check the non-optional parts when
  non-essential packages are not available.  In the case of platform
  specific optional features, this is essential.  Otherwise it would
  be impossible to ever run check.

* Package vignettes, used heavily in Bioconductor, often require a set
  of packages to be available to provide data and functions for a
  coherent example analysis.  These extra packages are often not used
  directly by the package itself (neither dependency nor "can use").
  A similar issue arises for examples included in package
  documentation.

* It is useful to be able to check only those vignettes and examples
  where the required packages available.

* If I were a new user/developer coming to R and read about Depends,
  Suggests, and CanMakeUseOf, I would likely be confused.

With that in mind, I wonder if:

  Suggests could mean "can use" and a compromise of some sort be
  established w.r.t. to R CMD check (similar to --no-vignettes).

  Depends.examples (or similar) be added which lists dependencies for
  documentation examples and vignettes.  

Best Wishes,

+ seth




[Rd] PATCH: Add fields argument to installed.packages and available.packages
Seth Falcon