The idea sounds interesting. You just got me thinking "do I avoid piping to anonymous functions only because I dislike the current syntax?") Looking through my current project, I notice that more often than not, when I find myself needing something similar, I take that as a hint and extract the logic to a separate function:
value |> do_stuff defp do_stuff(value) # ... end I like this approach better, as it makes the whole code even more explicit (I'm forced to come up with a meaningful name for that function). So I don't see myself using that function either. Another concern I'm thinking of is the name. Mentally, how do you read "|> pipe_to(...)"? Because I'm reading it as "pipe to pipe_to", which can turn out to be confusing On Fri, Aug 9, 2019 at 4:20 PM José Valim <[email protected]> wrote: > The partial application was just the example of choice. It can be any > anonymous function as argument. > > On Fri, Aug 9, 2019 at 16:39 Bruce Tate <[email protected]> wrote: > >> It's interesting to me. You have two things happening there: >> >> - partial application >> - the anonymous function invocation syntax. >> >> Which one are you solving here? >> >> -bt >> >> -bt >> >> On Fri, Aug 9, 2019 at 9:28 AM José Valim < >> [email protected]> wrote: >> >>> Hi everyone, >>> >>> With the addition of Function.identity/1, I would like to propose >>> another function to the Function module: pipe_to/2. >>> >>> The idea is that instead of: >>> >>> "foo >>> |> String.upcase() >>> |> (&Regex.scan(~r/foo/, &1)).() >>> >>> One can do: >>> >>> "foo >>> |> String.upcase() >>> |> Function.pipe_to(&Regex.scan(~r/foo/, &1)) >>> >>> Or if you import it before: >>> >>> "foo >>> |> String.upcase() >>> |> pipe_to(&Regex.scan(~r/foo/, &1)) >>> >>> While I wouldn't write the "pipe to anonymous" code, I have seen enough >>> code in the wild that uses it that having a more readable (albeit more >>> verbose) approach in the language sounds reasonable to me. The >>> implementation can be inlined by the compiler to avoid the extra dispatch >>> cost. >>> >>> What are your thoughts? If you "pipe to anonymous functions" in your >>> code today, would you prefer to use the new function? Yes/no? Why? >>> >>> Thank you, >>> >>> *José Valim* >>> www.plataformatec.com.br >>> Skype: jv.ptec >>> Founder and Director of R&D >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "elixir-lang-core" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to [email protected]. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/elixir-lang-core/CAGnRm4L-4zcvLOnOFSFdnmk0foBJcu94QjrAv9-_QDySN%2BN9bg%40mail.gmail.com >>> <https://groups.google.com/d/msgid/elixir-lang-core/CAGnRm4L-4zcvLOnOFSFdnmk0foBJcu94QjrAv9-_QDySN%2BN9bg%40mail.gmail.com?utm_medium=email&utm_source=footer> >>> . >> >> >>> >> >> -- >> >> Regards, >> Bruce Tate >> CEO >> >> >> <https://bowtie.mailbutler.io/tracking/hit/f8218219-d2a8-4de4-9fef-1cdde6e723f6/c7c97460-016e-45fb-a4ab-0a70318c7b97> >> >> Groxio, LLC. >> 512.799.9366 >> [email protected] >> grox.io >> >> -- >> You received this message because you are subscribed to the Google Groups >> "elixir-lang-core" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/elixir-lang-core/CAFXvW-6pChjS%2BfTADa9_1sMow4A5S88azM_FDqKOcxDxNJXakg%40mail.gmail.com >> <https://groups.google.com/d/msgid/elixir-lang-core/CAFXvW-6pChjS%2BfTADa9_1sMow4A5S88azM_FDqKOcxDxNJXakg%40mail.gmail.com?utm_medium=email&utm_source=footer> >> . >> > -- > > > *José Valim* > www.plataformatec.com.br > Skype: jv.ptec > Founder and Director of R&D > > -- > You received this message because you are subscribed to the Google Groups > "elixir-lang-core" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/elixir-lang-core/CAGnRm4L-Qx2tdNTaNiKkGve0%3Dx1J_7esSJKH68k3zzYURCHGeg%40mail.gmail.com > <https://groups.google.com/d/msgid/elixir-lang-core/CAGnRm4L-Qx2tdNTaNiKkGve0%3Dx1J_7esSJKH68k3zzYURCHGeg%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > -- Best, Miguel Palhas -- You received this message because you are subscribed to the Google Groups "elixir-lang-core" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/elixir-lang-core/CAEmrurpqEtb-9_A1EqdQXkBcWio0w6uwxF_CN2dipj8xt_%2BWcQ%40mail.gmail.com.
