[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