Re: [Rd] Suggestion: help(<package name>)

From: Duncan Murdoch <>
Date: Fri 10 Jun 2005 - 11:04:55 GMT

Kurt Hornik wrote:

>>>>>>Duncan Murdoch writes:

>>>>>On Tue, 7 Jun 2005, Duncan Murdoch wrote:
>>>>>>My proposal (modified following the suggestions I've heard so far) is as
>>>>>> - to check that a couple of help topic aliases exist (<pkg>.package
>>>>>>and <pkg>)
>>>>>> - to recommend that <pkg>.package contain general information about
>>>>>>the package, and that <pkg> be an alias for it, if it isn't used for
>>>>>>some other purpose.
>>>>>> - to write promptPackage() to help create an initial version of
>>>>>><pkg>.package.Rd.  It can get some information from the DESCRIPTION
>>>>>>file; perhaps it could go looking for a vignette, or the INDEX, or
>>>>>> - to modify the other help system tools to make use of this (e.g. the
>>>>>>package:<pkg> heading on a page would become a link to the <pkg>.package
>>>>>>alias, etc.)

>>I've now committed some of this to R-devel, and I invite comments.  I've 
>>abandoned the idea of the check, which seems too controversial.  I've 
>>done the second and third items, but not the 4th.

>>I wrote about a dozen of these files this afternoon as I was refining 
>>promptPackage.  It is very quick to generate a basic man page using 
>>promptPackage with an option saying you want a final version.  Manually 
>>editing this file, running it through checks, etc. took me around 10-20 
>>minutes per package.

>>I only did the base packages, and they probably have less in their 
>>overview than most contributors would want, so someone starting from 
>>nothing would probably take longer --- but many packages already have 
>>the text written somewhere, and they just need to add an alias to an Rd 
>>file, or perhaps reformat an INDEX file.

> Duncan,
> I am not sure why you went ahead on this.

It seemed to me that most of the discussion focussed on one point (forcing extra work on people); this seems to be the only way to get discussion on any other aspect of the proposal.

 > My understanding was that
> there was considerable opposition to introducing a convention for
> package documentation intermediate between providing package meta data
> in the DESCRIPTION file and providing vignettes, given in particular
> that we already have such an additional mechanism (INDEX files) for
> historic reasons.

The reason I went ahead was that I think this implementation is an improvement on INDEX files, though it is backwards compatible. In several of the overviews I wrote I refer to the automatically generated INDEX file. In cases where the INDEX was manually edited I recommend putting the content into the overview topic instead (but do not force this). I did it for the boot package (and I'll send the work to Brian if he's interested in incorporating it, since boot isn't a base package, and he's the maintainer); it wasn't that hard, but I think it was an improvement, in that the function names can be links to the function man pages, not just names to be copied and pasted.

In at least one case (the stats4 package) I think the INDEX file is almost completely useless, so I wrote the overview completely from scratch. I'm not sure I got it right, comments or corrections to the content would of course be welcome too.

However, I'd really like to hear a clear explanation of why you think the current system is superior. So far all that I've heard are messages like "this forces too much work on package writers", "we did this three years ago, why do it again?" I've explained why I think this solution is better, and I've modified it to allow it to be anywhere from "zero cost" (ignore it) to "very low cost" (use the automatically generated overview), on up as far as a package writer wants to take it.

> I also object particularly to the naming convention. Rd documentation
> objects are identified by their NAME (as indicated in their \name meta
> data), not the name of the file used for their serialization into Rd
> format. IF we want to have such a mechanism, then at least let it work
> on a topic-style alias of the form PACKAGE-package, which would be
> consistent with what we do for S4 classes and methods.

The problem with that style is that it doesn't parse to a name, so it needs quotes to work with the help system. For example,


doesn't do what you'd guess at all. (It gives help on "-"). Remember, my main aim is to simplify the answer to the question "how do I get help on foo?" So far nobody has written out a complete answer to that question; I invite you to try to do so.

I'd have to see how it works with all the tools, but in principle I'd have no objection to putting "-" in the name, as long as there was guaranteed to be a simple pattern to generate an alias that wouldn't need quoting.

Would you object to that? Why?

Unfortunately our help system doesn't handle duplicate aliases, so I can't always use the package name as an alias (which is what I'd really like to do). However, changes to allow duplicate aliases would be quite hard, and it's not something I'd like to take on.

Duncan Murdoch mailing list Received on Fri Jun 10 21:17:32 2005

This archive was generated by hypermail 2.1.8 : Mon 20 Feb 2006 - 03:21:09 GMT