[Rd] Suggestion: help(<package name>)
Duncan Murdoch
murdoch at stats.uwo.ca
Wed Jun 8 06:24:34 CEST 2005
Liaw, Andy wrote:
> Let me add to the pot:
>
> I think Robert and Brian are against imposing additional _requirement_ on
> packages to provide an overview in .Rd, and I tend to agree with that
> sentiment.
>
> However, if such a facility is made optional (like vignettes) for package
> author/maintainer, then I have no problem with it. Perhaps it can work like
> the CITATION file: The package author/maintainer can choose to (or not to)
> use it. If one is not provided in the package source, then something
> halfway sensible is auto-generated from various files (or perhaps just runs
> help(package="<pkg>").
>
> Or perhaps yet another function can be added to the `utils' package, like
> packageOverview(), which can either:
> - open an overview vignette if one is provided
> - open the overview .Rd in whatever format the default help is in
> - run help(package="<pkg>") if neither is available
We don't have a standard name for an overview vignette, and I don't like
the idea of creating a new help function (packageOverview) that someone
who doesn't know much about R will have to find before they can use, but
I like the idea of the help system doing its best to help.
So I'd like this better if it were modified so that ?foo tries the following
- to open help alias foo
- if that fails, and foo is a package name:
- tries to open a vignette with some standard name (proposals?)
- if that fails, then does help(package="foo")
This has the disadvantage over the original proposal that help pages
can't link to a standard help topic for the package, so I like the
original better, but this would be better than the status quo.
Duncan Murdoch
>
> Just my $0.02...
>
> Andy
>
>
>>From: Duncan Murdoch
>>
>>Prof Brian Ripley wrote:
>>
>>>I share Robert's `pretty strenuous' objections.
>>>
>>>Adding compulsory things for package writers seems to me to
>>
>>need very
>>
>>>compelling arguments. Checking that a package does what it
>>
>>says (e.g. the
>>
>>>code in vignettes can be run) is one thing, but checking it
>>
>>does things it
>>
>>>does not say it wants to do is quite another.
>>
>>I don't understand your complaint. Could you explain what you
>>meant by
>>"checking it does things it does not say it wants to do"?
>>
>>My proposal (modified following the suggestions I've heard so
>>far) is as
>>follows:
>>
>> - 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.)
>>
>>None of these things are very much work, and I'd be happy to
>>do them and
>>document them. The thing that will be more work is to write the
>><pkg>.package.Rd files for every package. (I'd do it for the base
>>packages; they'd be short.) It won't be a huge amount of
>>work for any
>>one package (many of them already have the basic content in various
>>places, so for those it's mostly a matter of reformatting),
>>but in total
>>it will be a lot.
>>
>>I think the benefit of this will be that the help for a package will
>>show up in a standard location, using the standard method for looking
>>for it. This is not a huge benefit for any users who already
>>know all
>>about the current ways help can be given, but I think it
>>would be a real
>>benefit for users who aren't so familiar with things. It
>>would help to
>>unify the help system: everyone knows about ?topic, so providing a
>>standard way for that to lead into all the rest of the documentation
>>seems obviously beneficial to me.
>>
>>Making this optional would weaken it quite a bit. Packages couldn't
>>give links to the main page in other packages if they weren't
>>guaranteed
>> to exist; producing the HTML would be more difficult if
>>links worked
>>sometimes and didn't work other times, etc.
>>
>>Robert Gentleman wrote:
>>
>>> Let's see, some of us (three years ago) developed a tool
>>
>>to solve this
>>
>>>problem.
>>
>>Do you mean vignettes? I think they solved a different
>>problem. They
>>provided a way to give good general documentation for a package, but
>>they didn't provide a way to get to it through the help system. They
>>aren't used for general introductory help for any of the standard
>>packages except grid and Matrix, and they use different naming
>>conventions in those two.
>>
>>
>>>We made it available to others to use as they saw fit. I feel
>>>no less strong than you do, but I certainly did not impose what I
>>>thought on you and I ask for the same respect.
>>
>>R imposes lots of things on me. I have to document every
>>function, and
>>I have to get the usage section right. These take work, but
>>they make
>>packages more useful. I think imposing one more help topic on the
>>package is in the same character. I'm really surprised that
>>you find it
>>so objectionable. It's really not much work!
>>
>> > We have already solved
>>
>>>this problem in our own way. You now seem to think that it
>>
>>is zero cost
>>
>>>to impose on us a second (and in my view inferior solution).
>>
>>I have no idea where you got the impression that I think this is zero
>>cost. I think it's low cost per package, but obviously not zero.
>>
>> > I am asking
>>
>>>that you not do that. Please, feel free to develop what you
>>
>>want and to
>>
>>>encourage others to use it, but don't try to make people do
>>
>>things just
>>
>>>because you want them that way.
>>> We have lots of packages in BioC the costs of
>>
>>reengineering so we can
>>
>>>meet your newly imposed standards are not zero.
>>
>>I'd put the cost of the proposal to the package writer at
>>about the cost
>>of documenting one function. I wouldn't call it
>>"reengineering". It's
>>an addition, not a major change.
>>
>> > I think we have an
>>
>>>expectation that such capricious behaviour will not be
>>
>>entered in to,
>>
>>>and if we don't then perhaps it is time to branch the project.
>>
>>To tell you the truth, I wouldn't consider branching over this issue.
>>I'd prefer some rational discussion about the proposal. I
>>really don't
>>understand why you think it's such a disastrous one that you couldn't
>>possibly live with it and would want to do all your work on a
>>different
>>branch.
>>
>>Here are the kinds of question I'd like to discuss:
>>
>>1. Could you tell me what you think would be involved in
>>"reengineering"? Maybe you have misunderstood the proposal, or I've
>>missed something. How much time do you think this would take?
>>
>>2. What is the current algorithm people should use to look
>>for help on
>>foo? Couldn't we make it simpler? I'd like it if the algorithm was
>>"type ?foo, and read what you get", regardless of what foo is. The
>>proposal above doesn't achieve that, but it gets closer.
>>
>>Duncan Murdoch
>>
>>______________________________________________
>>R-devel at stat.math.ethz.ch mailing list
>>https://stat.ethz.ch/mailman/listinfo/r-devel
>>
>>
>>
>
>
>
>
> ------------------------------------------------------------------------------
> Notice: This e-mail message, together with any attachment...{{dropped}}
More information about the R-devel
mailing list