These don't work either: args(match.fun("{")) args("{")
On 7/11/07, Prof Brian Ripley <[EMAIL PROTECTED]> wrote: > On Wed, 11 Jul 2007, Duncan Murdoch wrote: > > > On 7/11/2007 9:40 AM, Seth Falcon wrote: > >> Prof Brian Ripley <[EMAIL PROTECTED]> 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, [EMAIL PROTECTED] > 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@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel > ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel