[Rd] [External] anonymous functions

iuke-tier@ey m@iii@g oii uiow@@edu iuke-tier@ey m@iii@g oii uiow@@edu
Mon Dec 7 18:26:50 CET 2020

I don't disagree in principle, but the reality is users want shortcuts
and as a result various packages, in particular tidyverse, have been
providing them. Mostly based on formulas, mostly with significant
issues since formulas weren't designed for this, and mostly
incompatible (tidyverse ones are compatible within tidyverse but not
with others). And of course none work in sapply or lapply. Providing a
shorthand in base may help to improve this. You don't have to use it
if you don't want to, and you can establish coding standards that
disallow it if you like.



On Mon, 7 Dec 2020, Therneau, Terry M., Ph.D. via R-devel wrote:

> “The shorthand form \(x) x + 1 is parsed as function(x) x + 1. It may be 
> helpful in making code containing simple function expressions more readable.”
> Color me unimpressed.
> Over the decades I've seen several "who can write the shortest code" threads: 
> in Fortran, in C, in Splus, ...   The same old idea that "short" is a synonym 
> for either elegant, readable, or efficient is now being recylced in the 
> tidyverse.   The truth is that "short" is actually an antonym for all of 
> these things, at least for anyone else reading the code; or for the original 
> coder 30-60 minutes after the "clever" lines were written.  Minimal use of 
> the spacebar and/or the return key isn't usually held up as a goal, but 
> creeps into many practiioner's code as well.
> People are excited by replacing "function(" with "\("?  Really?   Are people 
> typing code with their thumbs?
> I am ambivalent about pipes: I think it is a great concept, but too many of 
> my colleagues think that using pipes = no need for any comments.
> As time goes on, I find my goal is to make my code less compact and more 
> readable.  Every bug fix or new feature in the survival package now adds more 
> lines of comments or other documentation than lines of code.  If I have to 
> puzzle out what a line does, what about the poor sod who inherits the 
> maintainance?

Luke Tierney
Ralph E. Wareham Professor of Mathematical Sciences
University of Iowa                  Phone:             319-335-3386
Department of Statistics and        Fax:               319-335-3017
    Actuarial Science
241 Schaeffer Hall                  email:   luke-tierney using uiowa.edu
Iowa City, IA 52242                 WWW:  http://www.stat.uiowa.edu

More information about the R-devel mailing list