From lg@utier @ending from gm@il@com  Sat Oct  6 19:52:56 2018
From: lg@utier @ending from gm@il@com (Laurent Gautier)
Date: Sat, 6 Oct 2018 13:52:56 -0400
Subject: [Rd] Warning when calling formals() for `[`.
In-Reply-To: <f5d15068-0776-2b5e-11d7-b1ae6ffc1d3b@sapo.pt>
References: <CA+JCgN254QaHVepo03ZuGLsatwmjfDSnUP3yq43N6TguBdWN5g@mail.gmail.com>
 <f5d15068-0776-2b5e-11d7-b1ae6ffc1d3b@sapo.pt>
Message-ID: <CA+JCgN3iXFhgeEA4Ozmw-VutK=VPXnF0dxTFV9C6AZJF+p1LjA@mail.gmail.com>

Hi,

Thanks for the note. How would explain the following snippet taken from
`formals` doc page (the code comment is also from that doc) ?

## formals returns NULL for primitive functions.  Use it in combination with
     ## args for this case.
     is.primitive(`+`)
     formals(`+`)
     formals(args(`+`))



Le sam. 6 oct. 2018 ? 13:42, Rui Barradas <ruipbarradas at sapo.pt> a ?crit :

> Hello,
>
> I believe that this is maybe not a *feature* but at least expected
> behaviour.
>
> The call formals(args(`[`)) breaks down to
>
>
>  > args(`[`)
> NULL
>  > formals(NULL)
> NULL
> Warning message:
> In formals(fun) : argument is not a function
>
>
> Hope this helps,
>
> Rui Barradas
>
>
> ?s 18:26 de 06/10/2018, Laurent Gautier escreveu:
> > 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 at r-project.org mailing list
> > https://stat.ethz.ch/mailman/listinfo/r-devel
> >
>

	[[alternative HTML version deleted]]



[Rd] Warning when calling formals() for `[`.
Laurent Gautier