[Rd] list and pairlist in "Writing R Extensions" (PR#9185)
ripley at stats.ox.ac.uk
ripley at stats.ox.ac.uk
Wed Aug 30 08:45:48 CEST 2006
It says clearly that showArgs is for use by .External, not .Call (it is
introduced in a paragraph about the differences):
@example
showArgs <- function(...) .External("showArgs", ...)
@end example
and that is the main user error here. Pairlists are not needed when used
as documented.
On Wed, 30 Aug 2006, gah4 at u.washington.edu wrote:
> Full_Name: Glen Herrmannsfeldt
> Version: 2.2.1
> OS: Linux
> Submission from: (NULL) (128.95.113.77)
>
>
> Following the discussion in "Writing R Extensions" in section 5.8.2, there
> is no indication that showArgs expects a pairlist() instead of a list().
>
> I was trying
>
> .Call("showArgs",list(one=1,two=2,three=3))
>
> for example, and getting many core dumps.
>
> It wasn't until reading "R Language Definition" that I found out
> about pairlist(), as needed.
> The final example:
>
> showArgs<-function(...) .Call("showArgs1",list(...))
>
> looks like a list can be passed to showArgs, but in fact it is showArgs1, which
> doesn't seem to be documented at all!
It says this is an 'alternative style', not an example.
> It could be that using pairlist() in 5.8.2 would fix the problem,
> but there should be a reference to the difference between list()
> and pairlist()
--
Brian D. Ripley, ripley at stats.ox.ac.uk
Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/
University of Oxford, Tel: +44 1865 272861 (self)
1 South Parks Road, +44 1865 272866 (PA)
Oxford OX1 3TG, UK Fax: +44 1865 272595
More information about the R-devel
mailing list