There is more "fun" afoot here, but I don't recall what the point may be:
> args(get("+")) function (e1, e2) NULL > args(get("[")) NULL > get("[") .Primitive("[") > get("+") function (e1, e2) .Primitive("+") The other index operators, "[[", "[<-", "[[<-" are similar The docs are pretty clear that args() on a primitive should yield a closure, so at least the documentation seems to be wrong. -pd > On 6 Oct 2018, at 19:26 , Laurent Gautier <lgaut...@gmail.com> wrote: > > Hi, > > A short code example showing the warning might the only thing needed here: > > ``` >> formals(args(`[`)) > NULL > > *Warning message:In formals(fun) : argument is not a function* >> is.function(`[`) > [1] TRUE >> is.primitive(`[`) > [1] TRUE > ``` > > Now with an other primitive: > > ``` >> formals(args(`sum`)) > $... > > > $na.rm > [1] FALSE > >> is.function(`sum`) > [1] TRUE >> is.primitive(`sum`) > [1] TRUE >> class(`[`) > [1] "function" > ``` > > Is this a feature ? > > > Laurent > > [[alternative HTML version deleted]] > > ______________________________________________ > R-devel@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel -- Peter Dalgaard, Professor, Center for Statistics, Copenhagen Business School Solbjerg Plads 3, 2000 Frederiksberg, Denmark Phone: (+45)38153501 Office: A 4.23 Email: pd....@cbs.dk Priv: pda...@gmail.com ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel