[Rd] [R/S-PLUS] [EXTERNAL] Re: [External] anonymous functions
Therneau, Terry M., Ph.D.
therne@u @end|ng |rom m@yo@edu
Mon Dec 7 19:29:06 CET 2020
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 using 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]]
More information about the R-devel
mailing list