From Thomas.Petzoldt at tu-dresden.de  Mon Oct  6 15:32:53 2008
From: Thomas.Petzoldt at tu-dresden.de (Thomas Petzoldt)
Date: Mon, 06 Oct 2008 15:32:53 +0200
Subject: [Rd] why is \alias{anRpackage} not mandatory?
In-Reply-To: <48EA08C9.7050702@stats.uwo.ca>
References: <48E9DE58.6070303@tu-dresden.de>
	<48E9E9E3.90905@stats.uwo.ca>	<48E9FF28.6060207@tu-dresden.de>
	<48EA08C9.7050702@stats.uwo.ca>
Message-ID: <48EA1385.1080501@tu-dresden.de>

Duncan Murdoch wrote:
> On 06/10/2008 8:06 AM, Thomas Petzoldt wrote:
>> Duncan Murdoch wrote:
>>> Thomas Petzoldt wrote:
>>>> Dear R developers,
>>>>
>>>> if one uses package.skeleton() to create a new package, then a file 
>>>> anRpackage.Rd with the following entries is prepared:
>>>>
>>>> \name{anRpackage-package}
>>>> \alias{anRpackage-package}
>>>> \alias{anRpackage}
>>>> \docType{package}
>>>>
>>>>
>>>> Packages created this way have a definite entry or overview page, so:
>>>>
>>>> ?anRpackage
>>>>
>>>> gives new users of a certain package a pointer where to start reading.
>>>>
>>>> This is similar for packages which have the same name as their main 
>>>> workhorse function, e.g. zoo or nlme, but there are many packages 
>>>> which don't have an \alias{anRpackage}.
>>>>
>>>> "Writing R Extensions", sec. 2.1.4 says:
>>>>
>>>> "Packages may have an overview man page with an \alias 
>>>> pkgname-package, e.g. `utils-package' for the utils package, when 
>>>> package?pkgname will open that help page. If a topic named pkgname 
>>>> does not exist in another Rd file, it is helpful to use this as an 
>>>> additional \alias."
>>>>
>>>> My question: what speaks against making this sentence more 
>>>> pronounced and why not NOTE-ing a missing package alias in the 
>>>> package check?
>>>>
>>>>   
>>> Not everybody likes the idea of the overview man page, so when I 
>>> wrote that I left it weak.  Some of the disadvantages:
>>
>> You speak about the disadvantages but there are, of course, obvious 
>> advantages. Almost all scientific papers start with an abstract, why 
>> not requesting one for software packages, at least for new ones?
> 
> We already require one in the DESCRIPTION file for all packages, which 
> you can see with
> 
> library(help=packagename)
> 
> This is related to my first two points:  people have already done this 
> work so they are reluctant to do it again, and duplicate information is 
> a bad idea.


I agree, and I also don't like duplicate inconsistent "information", but 
simply try the following:

options(htmlhelp=TRUE)
library(help="base")

The result is now displayed in text format and new users don't know how 
to proceed. I say new users, because an experienced user knows what to 
do ... and if nothing helps he makes a grep over the sources.

> I think the R help system is too fragmented:  it's hard to discover all 
> the different types of help that are already there (Rd files, 
> DESCRIPTION files, vignettes, the manuals, NEWS, CHANGES, ChangeLogs, 
> SVN logs, source comments, mailing lists, web pages and publications, 
> ...).  I think having a ?packagename man page is a good place for a 
> single starting point, and I consider packages without one to be poorly 
> documented.  But obviously, not everyone agrees.

*I* agree -- completely with the that paragraph.

>>> - there are lots of packages without one, so this would create a lot 
>>> of work for people to add them.
>>
>> No, I don't think that this is too much work. Positively speaking, 
>> it's one small contribution to bring more light into the exponentially 
>> growing haystack.
> 
> I agree, and I even added these to all the packages under my control: 
> but there are hundreds of package authors, and some have different 
> priorities than you and me.

O.K., I see, so I suggest to add an additional motivating sentence to:

http://developer.r-project.org/Rds.html

and possibly an automatism that shows (or converts) the output of

library(help="foo")

to a formatted page in the appropriate help format (e.g. html).

>> What about starting to advertise the use of \alias{anRpackage}, i.e. a 
>> short article in R News and subsequently an email to the developers.
> 
> I would have thought that putting this into NEWS and Writing R 
> Extensions was the right way to advertise it.  If people don't read 
> those, why would you think they'll read R News?  But more is better, so 
> go ahead and submit an article to R News.

People like me may read "Writing R Extensions" several times and then 
have a look into some of the most prominent packages and get insecure, 
as only few use this mechanism.

> I don't like robot mailings, so I wouldn't appreciate an email on this. 
>  I don't recommend that you send one.

Beware, not at all! But I think it was good to open this thread on 
r-devel  :-)

>>
>>> - the ones that do exist tend to include outdated information.  
>>> People update the DESCRIPTION file but forget to update the 
>>> corresponding information in the overview.
>>
>> This is in fact a problem. Suggestions:
>>
>> - propose basic style guidelines (in an R-News article)
>> - allow variables in .Rd files (your idea to allow "Sweave like 
>> constructs" may be even better). In addition to entries from 
>> DESCRIPTION, one can think also about importing data from CITATION and 
>> possibly also from other resources.
>>
>>> - in general there's a lot of dissatisfaction with the Rd format, so 
>>> there's reluctance to invest any more effort in it.
>>
>> You are right, .Rd has its limitations, but as you say, there is 
>> nothing better available in the moment. (BTW: I heard rumours at useR! 
>> about discussions on a meta documentation format? Is there any public 
>> information about this??)
> 
> I first heard proposals for a replacement format at DSC 2001.  I don't 
> know of anything concrete.
> 
> Duncan Murdoch

Not concrete. I don't even know if these rumours were related to 
something like Roxygen, extensions of a new DESCRIPTION format handling 
more automated processing on CRAN (e.g. evaluation by Taskview authors) 
or discussion about the list of keywords, but I'm sure that there are 
several points that need strategic discussion between core and "the 
developer base", including a pragmatic way to finalize conclusions.

>>
>>> It would probably be a good idea to generate one automatically if not 
>>> provided by the author, at build or install time:  this would address 
>>> the first point.  
>>
>> A reasonable idea -- at least if combined with a motivating request to 
>> package authors to provide an own one.
>>
>>> I've been slowly working on some fixes that address the second 
>>> point.  (The current idea is to use Sweave-like constructs to import 
>>> things from the DESCRIPTION file at install time.)  There's no way to 
>>> address the third point other than providing a better format, and I 
>>> don't see any prospect of that happening.
>>
>> So if there are no advances in that direction I see no other choice 
>> than using the existing mechanisms! Recently, I had several contacts 
>> with package authors who were not even aware about the possibility of 
>> providing a package information .Rd file.
>>
>>> Duncan Murdoch
>>>
>>
>> Thanks, Thomas P.
> 

Thomas P.



[Rd] why is \alias{anRpackage} not mandatory?
Thomas Petzoldt