If we?re being mathematically pedantic, the ?pipe? operator is actually function composition. That being said, pipes are a simple and well-known idiom. While being less than mathematically exact, it seems a reasonable label for the (very useful) behavior. On Sat, Dec 5, 2020 at 9:43 PM Abby Spurdle <spurdle.a at gmail.com> wrote:> > This is a good addition > > I can't understand why so many people are calling this a "pipe". > Pipes connect processes, via their I/O streams. > Arguably, a more general interpretation would include sockets and files. > > https://en.wikipedia.org/wiki/Pipeline_(Unix) > https://en.wikipedia.org/wiki/Named_pipe > https://en.wikipedia.org/wiki/Anonymous_pipe > > As far as I can tell, the magrittr-like operators are functions (not > pipes), with nonstandard syntax. > This is not consistent with R's original design philosophy, building > on C, Lisp and S, along with lots of *important* math and stats. > > It's possible that some parties are interested in creating a kind of > "data pipeline". > I'm interested in this myself, and I think we could discuss this more. > But I'm not convinced the magrittr-like operators help to achieve this > goal. > Which, in my opinion, would require one to model programs as directed > graphs, along with some degree of asynchronous input. > > Presumably, these operators will be added to R anyway, and (almost) no > one will listen to me. > > So, I would like to make one suggestion: > Is it possible for these operators to *not* be named: > The R Pipe > The S Pipe > Or anything with a similar meaning. > > Maybe tidy pipe, or something else that links it to its proponents? > > ______________________________________________ > R-devel at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel >-- "Whereas true religion and good morals are the only solid foundations of public liberty and happiness . . . it is hereby earnestly recommended to the several States to take the most effectual measures for the encouragement thereof." Continental Congress, 1778 [[alternative HTML version deleted]]
It is common practice to call |> as pipe (or pipeline operator) among
many languages
including ones that recently introduced it as an experimental feature.
Pipeline is a
common feature for functional programming, not just for "data
pipeline."
F#:
https://docs.microsoft.com/en-us/dotnet/fsharp/language-reference/symbol-and-operator-reference/
Elixir: https://hexdocs.pm/elixir/operators.html#general-operators
Typescript:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Pipeline_operator
Ruby: https://bugs.ruby-lang.org/issues/15799
(This blog post about the history of pipe operator might be
interesting:
https://mamememo.blogspot.com/2019/06/a-brief-history-of-pipeline-operator.html
)
I agree this is a bit confusing for those who are familiar with other
"pipe" concepts,
but there's no other appropriate term to call |>.
2020?12?6?(?) 12:22 Gregory Warnes <greg at
warnes.net>:>
> If we?re being mathematically pedantic, the ?pipe? operator is actually
> function composition.
>
> That being said, pipes are a simple and well-known idiom. While being less
> than mathematically exact, it seems a reasonable label for the (very
> useful) behavior.
>
> On Sat, Dec 5, 2020 at 9:43 PM Abby Spurdle <spurdle.a at gmail.com>
wrote:
>
> > > This is a good addition
> >
> > I can't understand why so many people are calling this a
"pipe".
> > Pipes connect processes, via their I/O streams.
> > Arguably, a more general interpretation would include sockets and
files.
> >
> > https://en.wikipedia.org/wiki/Pipeline_(Unix)
> > https://en.wikipedia.org/wiki/Named_pipe
> > https://en.wikipedia.org/wiki/Anonymous_pipe
> >
> > As far as I can tell, the magrittr-like operators are functions (not
> > pipes), with nonstandard syntax.
> > This is not consistent with R's original design philosophy,
building
> > on C, Lisp and S, along with lots of *important* math and stats.
> >
> > It's possible that some parties are interested in creating a kind
of
> > "data pipeline".
> > I'm interested in this myself, and I think we could discuss this
more.
> > But I'm not convinced the magrittr-like operators help to achieve
this
> > goal.
> > Which, in my opinion, would require one to model programs as directed
> > graphs, along with some degree of asynchronous input.
> >
> > Presumably, these operators will be added to R anyway, and (almost) no
> > one will listen to me.
> >
> > So, I would like to make one suggestion:
> > Is it possible for these operators to *not* be named:
> > The R Pipe
> > The S Pipe
> > Or anything with a similar meaning.
> >
> > Maybe tidy pipe, or something else that links it to its proponents?
> >
> > ______________________________________________
> > R-devel at r-project.org mailing list
> > https://stat.ethz.ch/mailman/listinfo/r-devel
> >
> --
> "Whereas true religion and good morals are the only solid foundations
of
> public liberty and happiness . . . it is hereby earnestly recommended to
> the several States to take the most effectual measures for the
> encouragement thereof." Continental Congress, 1778
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
Hello, If Hilbert liked beer, I like "pipe". More seriously, a new addition like this one is going to cause problems yet unknown. But it's a good idea to have a pipe operator available. As someone used to magrittr's data pipelines, I will play with this base one before making up my mind. I don't expect its behavior to be exactly like magrittr "%>%" (and it's not). For the moment all I can say is that it is something R users are used to and that it now avoids loading a package. As for the new way to define anonymous functions, I am less sure. Too much syntatic sugar? Or am I finding the syntax ugly? Hope this helps, Rui Barradas ?s 03:22 de 06/12/20, Gregory Warnes escreveu:> If we?re being mathematically pedantic, the ?pipe? operator is actually > function composition > > That being said, pipes are a simple and well-known idiom. While being less > than mathematically exact, it seems a reasonable label for the (very > useful) behavior. > > On Sat, Dec 5, 2020 at 9:43 PM Abby Spurdle <spurdle.a at gmail.com> wrote: > >>> This is a good addition >> >> I can't understand why so many people are calling this a "pipe". >> Pipes connect processes, via their I/O streams. >> Arguably, a more general interpretation would include sockets and files. >> >> https://en.wikipedia.org/wiki/Pipeline_(Unix) >> https://en.wikipedia.org/wiki/Named_pipe >> https://en.wikipedia.org/wiki/Anonymous_pipe >> >> As far as I can tell, the magrittr-like operators are functions (not >> pipes), with nonstandard syntax. >> This is not consistent with R's original design philosophy, building >> on C, Lisp and S, along with lots of *important* math and stats. >> >> It's possible that some parties are interested in creating a kind of >> "data pipeline". >> I'm interested in this myself, and I think we could discuss this more. >> But I'm not convinced the magrittr-like operators help to achieve this >> goal. >> Which, in my opinion, would require one to model programs as directed >> graphs, along with some degree of asynchronous input. >> >> Presumably, these operators will be added to R anyway, and (almost) no >> one will listen to me. >> >> So, I would like to make one suggestion: >> Is it possible for these operators to *not* be named: >> The R Pipe >> The S Pipe >> Or anything with a similar meaning. >> >> Maybe tidy pipe, or something else that links it to its proponents? >> >> ______________________________________________ >> R-devel at r-project.org mailing list >> https://stat.ethz.ch/mailman/listinfo/r-devel >>