[R] Contributing to the R Extensions documentation

Martin Maechler maechler at stat.math.ethz.ch
Thu Nov 6 11:12:38 CET 2003


>>>>> "Ross" == Ross Boylan <ross at biostat.ucsf.edu>
>>>>>     on Wed, 05 Nov 2003 12:31:28 -0800 writes:

    Ross> On Wed, 2003-11-05 at 12:06, Prof Brian Ripley wrote:
    >> A list is just a vector of type VECSXP.  There IS a
    >> section called `Handling lists'.
    >> 
    >> I don't think the gap is in the `Writing R Extensions'
    >> document, maybe in your reading of it.
    >> 
    Ross> That section discusses reading lists, not making them.

    Ross> It also includes no explicit statement that the names
    Ross> of list items are in the R_NamesSymbol attribute, nor
    Ross> instructions on how to create the value that goes in
    Ross> that attribute (i.e., it should be a character vector
    Ross> and its elements made with mkChar()).  (I'm also not
    Ross> sure how deep one needs to use PROTECT, though that's
    Ross> a more general issue.)

    Ross> There is no explicit statement that the elements of
    Ross> the list are arbitrary SEXP's.

    Ross> I also had the list[i] vs list[[i]] lurking in my
    Ross> mind, wondering how that mapped to the C level
    Ross> constructs.  That is less central.

    Ross> I'm not saying the clues aren't there; after all, I
    Ross> did work it out, I think correctly.  I am saying that
    Ross> certain information would be better stated explicitly
    Ross> rather than simply being open to inference from an
    Ross> example.  And I am saying that an explicit example of
    Ross> constructing and returning a list (with named members)
    Ross> would be useful, since that's a common scenario.

I tend to agree.
I assume most people will read that manual electronically --- as
opposed to "on paper", because you can search quickly ---
and such a proposed addition would be quite helpful.

Alternatively, and sometimes even more usefully,
one could consider providing these more extended examples as
files (*.c, *.R, Makefile, .. or even better, as an R package
(with a vignette !) which would have an almost purely didactical
aim.   As an R package --- source only, no binaries! --- it had
the advantage of providing "provably" (via R CMD check) working
code.

Martin Maechler <maechler at stat.math.ethz.ch>	http://stat.ethz.ch/~maechler/
Seminar fuer Statistik, ETH-Zentrum  LEO C16	Leonhardstr. 27
ETH (Federal Inst. Technology)	8092 Zurich	SWITZERLAND
phone: x-41-1-632-3408		fax: ...-1228			<><

    >> On Wed, 5 Nov 2003, Ross Boylan wrote:
    >> 
    >> I thought there were some gaps in the R Extensions
    >> document; in particular, I was left wondering how to
    >> create a list.  I think a paragraph on it would be
    >> useful.
    >> 
    >> I would be happy to contribute the paragraph, but I'm
    >> not sure if there's interest or what the procedure is.
    >> Can anyone advise me?
    >> 
    >> Though I was looking at the 1.7.0 version, I just
    >> checked 1.8.0 and the relevant section seems the same.
    >> 
    >> My ulterior motive is to discover if my understanding
    >> of lists is actually correct :)




More information about the R-help mailing list