[Rd] Printing of anonymous functions in calls is sub-optimal

Hadley Wickham h.wickham at gmail.com
Sat Feb 16 16:22:28 CET 2013

> This is a little tricky for the deparser.  It sees a call to a function
> which was determined by an expression.  Sometimes you want parens, sometimes
> you don't.  For example, if getfun(y) returns a function, it's clearer to
> display a call as getfun(y)(x) than (getfun(y))(x).
> I'll see if I can work out which kinds of expressions need to be
> parenthesized and implement it in the deparser.

I suspect it's only when you have a function in the quoted call, not a symbol:

# Don't add parens
q1 <- quote(g(f)(x))

# Add parents
q2 <- substitute(f(x), list(f = function(x) {x + 1}))

Thanks for thinking about it!


Chief Scientist, RStudio

More information about the R-devel mailing list