[Rd] Printing of anonymous functions in calls is sub-optimal
Duncan Murdoch
murdoch.duncan at gmail.com
Sat Feb 16 16:18:58 CET 2013
On 13-02-15 10:45 AM, Hadley Wickham wrote:
> e.g.
>
> substitute(f(x), list(f = function(x) x + 1))
> # function (x)
> # x + 1(x)
>
> An extra pair of parentheses would really help:
>
> (function(x)
> x + 1)(x)
>
> (Better indenting etc would be nice, but not necessary for correct
> understand of the code)
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.
Duncan
More information about the R-devel
mailing list