[Rd] Getting param names of primitives

Gabor Grothendieck ggrothendieck at gmail.com
Wed Jul 11 16:37:47 CEST 2007


These don't work either:

args(match.fun("{"))
args("{")



On 7/11/07, Prof Brian Ripley <ripley at stats.ox.ac.uk> wrote:
> On Wed, 11 Jul 2007, Duncan Murdoch wrote:
>
> > On 7/11/2007 9:40 AM, Seth Falcon wrote:
> >> Prof Brian Ripley <ripley at stats.ox.ac.uk> writes:
> >>
> >>> My problem is that if we make formals() work on primitives, people will
> >>> expect
> >>>
> >>> formals(log) <- value
> >>>
> >>> to work, and it cannot.
> >>
> >> But it could give an informative error message.  Asking for formals()
> >> seems to make sense so making it work seems like a good idea.  I'll
> >> agree that it working might encourage someone to try formals<-(), but
> >> the fact that it cannot do anything but error seems like a strange
> >> reason not to make formals() work.
> >
> > But primitives don't have formals, and that's why you can't set them. Having
> > formals(primitive) work just makes it harder to talk about the language.
> > Closures have formals, primitives don't.  Both have args.  If you want to
> > work with the args of a function, use the args.
>
> I agree: I was going to reply to Seth that the main reason was that
> 'formals() ought to refer to formals which primitives lack'.
>
> And note too that args(<primitive>) does not work for all primitives, as
> some are really part of the language (e.g. for(), return()).  Exactly
> which are is perhaps debatable, and the person who implemented the
> mechanism got to decide.
>
> --
> 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
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>



More information about the R-devel mailing list