From therne@u @end|ng |rom m@yo@edu  Mon Dec  7 19:29:06 2020
From: therne@u @end|ng |rom m@yo@edu (Therneau, Terry M., Ph.D.)
Date: Mon, 07 Dec 2020 12:29:06 -0600
Subject: [Rd] [R/S-PLUS] [EXTERNAL] Re: [External]  anonymous functions
In-Reply-To: <alpine.DEB.2.21.2012071119120.3377@luke-Latitude-7480>
References: <28fddd$f2ifur@ironport10.mayo.edu>
 <alpine.DEB.2.21.2012071119120.3377@luke-Latitude-7480>
Message-ID: <28fddd$f2jf83@ironport10.mayo.edu>

Luke,
 ? Mostly an aside.? I think that pipes are a good addition, and it is clear that you and 
other R-core thought through many of the details.?? Congratulations on what appears to be 
solid work. I've used Unix since '79, so it is almost guarranteed that I like the basic 
idiom, and I expect to make use of it.? Users who think that pipes -- or any other code -- 
is so clear that comments are superfluous is no reflection on R core, and also a bit of a 
hobby horse for me.

I am a bit bemused by the flood of change suggestions, before people have had a chance to 
fully exercise the new code. ? I'd suggest waiting several months, or a year, before major 
updates, straight up bugs excepted. ? The same advice holds when moving into a new house.
One? experience with the survival package has been that most new ideas have been 
implemented locally, and we run with them for half a year before submission to CRAN.? I've 
had a few "really great" modifications that, thankfully, were never inflicted on the rest 
of the R community.

Terry T.

On 12/7/20 11:26 AM, luke-tierney at uiowa.edu wrote:
> 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.
>
> Best,
>
> luke
>
> 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?
>>
>>
>>
>


	[[alternative HTML version deleted]]



[Rd] [R/S-PLUS] [EXTERNAL] Re: [External] anonymous functions
Therneau, Terry M., Ph.D.