[Rd] RFC: (in-principle) native unquoting for standard evaluation

Hadley Wickham h.wickham at gmail.com
Wed Mar 22 16:38:33 CET 2017

On Mon, Mar 20, 2017 at 8:00 AM, Hadley Wickham <h.wickham at gmail.com> wrote:
> On Mon, Mar 20, 2017 at 7:36 AM, Radford Neal <radford at cs.toronto.edu> wrote:
>> Michael Lawrence (as last in long series of posters)...
>>> Yes, it would bind the language object to the environment, like an
>>> R-level promise (but "promise" of course refers specifically to just
>>> _lazy_ evaluation).
>>> For the uqs() thing, expanding calls like that is somewhat orthogonal
>>> to NSE. It would be nice in general to be able to write something like
>>> mean(x, extra_args...) without resorting to do.call(mean, c(list(x),
>>> extra_args)). If we had that then uqs() would just be the combination
>>> of unquote and expansion, i.e., mean(x, @extra_args...). The "..."
>>> postfix would not work since it's still a valid symbol name, but we
>>> could come up with something.
>> I've been trying to follow this proposal, though without tracking down
>> all the tweets, etc. that are referenced.  I suspect I'm not the only
>> reader who isn't clear exactly what is being proposed.  I think a
>> detailed, self-contained proposal would be useful.
> We have a working implementation (which I'm calling tidyeval) in
> https://github.com/hadley/rlang, but we have yet to write it up. We'll
> spend some time documenting since it seems to be of broader interest.

First pass at programming dplyr vignette (including details about tidyeval) at



More information about the R-devel mailing list