From @purd|e@@ @end|ng |rom gm@||@com  Tue Dec  8 01:05:04 2020
From: @purd|e@@ @end|ng |rom gm@||@com (Abby Spurdle)
Date: Tue, 8 Dec 2020 13:05:04 +1300
Subject: [Rd] anonymous functions
In-Reply-To: <CAB8pepzTJNwrcyi=MS0OwX7pZc8jYCc5E3dykkdAGWqbLbeWCg@mail.gmail.com>
References: <28fddd$f2ifur@ironport10.mayo.edu>
 <CAB8pepzTJNwrcyi=MS0OwX7pZc8jYCc5E3dykkdAGWqbLbeWCg@mail.gmail.com>
Message-ID: <CAB8pepw8u+9E1XmweMsWDmfuMJPVov6iGDj=MBUCUNRU1j4k2Q@mail.gmail.com>

Sorry, I should replace "cryptic-ness" from my last post, with
"unnecessary cryptic-ness".
Sometimes short symbolic expressions are necessary.


P.S.
Often, I wish I could write: f (x) = x^2.
But that's replacement function syntax.


On Tue, Dec 8, 2020 at 11:56 AM Abby Spurdle <spurdle.a at gmail.com> wrote:
>
> I mostly agree with your comments on anonymous functions.
>
> However, I think the main problem is cryptic-ness, rather than succinct-ness.
> The backslash is a relatively universal symbol within programming
> languages with C-like (ALGOL-like?) syntax.
> Where it denotes escape sequences within strings.
>
> Using the leading character for escape sequences, to define functions,
> is like using integers to define floating point numbers:
>
>     my.integer <- as.integer (2) * pi
>
> Arguably, the motive is more to be ultra-succinct than cryptic.
> But either way, we get syntax which is difficult to read, from a
> mathematical and statistical perspective.
>
>
> On Tue, Dec 8, 2020 at 6:04 AM Therneau, Terry M., Ph.D. via R-devel
> <r-devel at r-project.org> 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?
> >
> >
> > --
> > Terry M Therneau, PhD
> > Department of Health Science Research
> > Mayo Clinic
> > therneau at mayo.edu
> >
> > "TERR-ree THUR-noh"
> >
> > ______________________________________________
> > R-devel at r-project.org mailing list
> > https://stat.ethz.ch/mailman/listinfo/r-devel



[Rd] anonymous functions
Abby Spurdle