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 >>