Re: [Rd] Warning when calling formals() for `[`.

2018-10-07 Thread Rui Barradas
Hello, Inline. Às 15:07 de 07/10/2018, Laurent Gautier escreveu: Note that having "function" in its class attribute does not make an object a primitive. I did not say it does. What Peter said is that "args() on a primitive should yield a closure" and this return value is indeed a closure.

Re: [Rd] Warning when calling formals() for `[`.

2018-10-07 Thread Peter Dalgaard
> On 7 Oct 2018, at 16:04 , Rui Barradas wrote: > > Hello, > > I don't see why you say that the documentation seems to be wrong: > > > class(args(`+`)) > #[1] "function" > > > args() on a primitive does return a closure. At least in this case it does. But in this case it doesn't: > is.p

Re: [Rd] Warning when calling formals() for `[`.

2018-10-07 Thread Rui Barradas
Hello, This is because args(`[`) returns NULL and class(NULL) is NULL. So the question would be why is the return value of args(`[`) NULL? Rui Barradas Às 15:14 de 07/10/2018, Peter Dalgaard escreveu: On 7 Oct 2018, at 16:04 , Rui Barradas wrote: Hello, I don't see why you say that the d

Re: [Rd] Warning when calling formals() for `[`.

2018-10-07 Thread Rui Barradas
Hello, This is the *third* time I send this, the first two I had a failure notice so if you have already received it please apologize. I believe this is consistent with the doc. From section Value: formals returns the formal argument list of the function specified, as a pairlist, or NULL fo

Re: [Rd] Warning when calling formals() for `[`.

2018-10-07 Thread Laurent Gautier
Note that having "function" in its class attribute does not make an object a primitive. For example: > class(`[`) [1] "function" > is.primitive(`[`) [1] TRUE > class(`rnorm`) [1] "function" > is.primitive(`rnorm`) [1] FALSE Le dim. 7 oct. 2018 à 10:04, Rui Barradas a écrit : > Hello, > > I don

Re: [Rd] Warning when calling formals() for `[`.

2018-10-07 Thread Rui Barradas
Hello, I don't see why you say that the documentation seems to be wrong: class(args(`+`)) #[1] "function" args() on a primitive does return a closure. At least in this case it does. Rui Barradas Às 14:05 de 07/10/2018, Peter Dalgaard escreveu: There is more "fun" afoot here, but I don't r

Re: [Rd] Warning when calling formals() for `[`.

2018-10-07 Thread Peter Dalgaard
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 t