[Rd] Getting param names of primitives

Martin Maechler maechler at stat.math.ethz.ch
Wed Jul 11 12:28:57 CEST 2007

>>>>> "BDR" == Prof Brian Ripley <ripley at stats.ox.ac.uk>
>>>>>     on Wed, 11 Jul 2007 05:48:56 +0100 (BST) writes:

    >> formals(args(log))
    BDR> $x

    BDR> $base
    BDR> exp(1)

    BDR> gives what formals(log) used to.

(I knew). I've been asking myself several times now,
if we should not make
formals() do this automatically.
I know that the change might break some code
which has used things like

if(is.null(formals(fun))) {
  ## treat  fun  as a primitive function


but I think R has provided  is.primitive(.)
long enough now so that
we could consider the change.


    BDR> On Wed, 11 Jul 2007, miguel manese wrote:

    >> Hi,
    >> In the latest R this does not work anymore
    >> args <- formals(log)
    >> because log is primitive. Is there any other way to get the argument
    >> list? I just need the name of the parameter to display some error
    >> message about it. I have looked at args() but I can't find anything to
    >> extract the argument names from it.
    >> Thanks,
    >> M. Manese

    BDR> -- 
    BDR> Brian D. Ripley,                  ripley at stats.ox.ac.uk
    BDR> Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
    BDR> University of Oxford,             Tel:  +44 1865 272861 (self)
    BDR> 1 South Parks Road,                     +44 1865 272866 (PA)
    BDR> Oxford OX1 3TG, UK                Fax:  +44 1865 272595

    BDR> ______________________________________________
    BDR> R-devel at r-project.org mailing list
    BDR> https://stat.ethz.ch/mailman/listinfo/r-devel

More information about the R-devel mailing list