What I'm proposing, is only syntaxic sugar.

I don't like piping comprehension's result. It looks less readable than
piping with regular Enum functions.
Le 15 nov. 2024 à 12:42 +0100, José Valim <jose.va...@gmail.com>, a écrit :
> But then why not simply pipe to the result afterwards? This is all possible 
> today already:
>
> for(...) |> Enum.join(", ")
> for(...) |> then(&Enum.join(&1, ", "))
>
> for do
>   ...
> end |> then(&Enum.join(&1, ", "))
>
>
> José Valim
> https://dashbit.co/
>
>
> > On Fri, Nov 15, 2024 at 11:13 AM Christian Blavier <cblav...@gmail.com> 
> > wrote:
> > > My point wasn’t about adding a join but a then option (like Kernel.then), 
> > > which seems much more versatile.
> > >
> > > Whatever I was expecting a no :)
> > > Le 15 nov. 2024 à 11:10 +0100, José Valim <jose.va...@gmail.com>, a écrit 
> > > :
> > > > It is the same answer as before, I am afraid. The path to adding :join 
> > > > is also the path to adding :intersperse, and :sum, and :product, etc. 
> > > > We should have a general mechanism for expressing those, instead of 
> > > > individual options.
> > > >
> > > > And, as before, a joiner does not really work well with into and reduce.
> > > >
> > > >
> > > > José Valim
> > > > https://dashbit.co/
> > > >
> > > >
> > > > > On Fri, Nov 15, 2024 at 11:06 AM Christian Blavier 
> > > > > <cblav...@gmail.com> wrote:
> > > > > > Hey there,
> > > > > >
> > > > > > I'm still thinking about extending comprehension. What about a 
> > > > > > `then` option?
> > > > > > for i <- 1..3, do: i, then: &Enum.sum/1
> > > > > > for s <- ~w(a b c), do: s, then: &Enum.join(&1, ", ")
> > > > > > (I know this can be achieved more efficiently with a reduce, but 
> > > > > > sometimes concise syntax is a better choice)
> > > > > >
> > > > > > > Le mardi 21 juin 2022 à 18:40:46 UTC+2, José Valim a écrit :
> > > > > > > > It should probably be done with using `into: joiner(",")`, 
> > > > > > > > where the joiner implements the collectable protocol. join 
> > > > > > > > itself probably doesn't make much sense because it doesn't play 
> > > > > > > > well with other options such as :into itself, or :reduce.
> > > > > > > >
> > > > > > > > > On Tue, Jun 21, 2022 at 6:15 PM Christian Blavier 
> > > > > > > > > <cbla...@gmail.com> wrote:
> > > > > > > > > > Do you think a join option would be a good idea for 
> > > > > > > > > > comprehensions?
> > > > > > > > > > Something like Enum.map_join/2 that could map and join 
> > > > > > > > > > lists in a single pass.
> > > > > > > > > > book_ids = for book <- books, join: ",", do: book.id
> > > > > > > > > > If it looks like a good idea, I will open a PR.
> > > > > > > > > > Best,
> > > > > > > > > > Christian
> > > > > > > > > > --
> > > > > > > > > > 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 
> > > > > > > > > > elixir-lang-co...@googlegroups.com.
> > > > > > > > > > To view this discussion on the web visit 
> > > > > > > > > > https://groups.google.com/d/msgid/elixir-lang-core/f8b94dec-35a1-4b78-a14c-6913c7206fe3n%40googlegroups.com.
> > > > > > --
> > > > > > 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 elixir-lang-core+unsubscr...@googlegroups.com.
> > > > > > To view this discussion visit 
> > > > > > https://groups.google.com/d/msgid/elixir-lang-core/736e38fd-e0dd-4489-b079-73c116b5ecb7n%40googlegroups.com.
> > > > --
> > > > You received this message because you are subscribed to a topic in the 
> > > > Google Groups "elixir-lang-core" group.
> > > > To unsubscribe from this topic, visit 
> > > > https://groups.google.com/d/topic/elixir-lang-core/tF2Xw8nq-O0/unsubscribe.
> > > > To unsubscribe from this group and all its topics, send an email to 
> > > > elixir-lang-core+unsubscr...@googlegroups.com.
> > > > To view this discussion visit 
> > > > https://groups.google.com/d/msgid/elixir-lang-core/CAGnRm4JEM%3DUD70e%2BpNXyKQqNxMB_gZnMbj%2By8ZH7tTr6rO5ahQ%40mail.gmail.com.
> > > --
> > > 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 elixir-lang-core+unsubscr...@googlegroups.com.
> > > To view this discussion visit 
> > > https://groups.google.com/d/msgid/elixir-lang-core/96f52834-4980-4679-a2ac-b22afacf12cd%40Spark.
> --
> You received this message because you are subscribed to a topic in the Google 
> Groups "elixir-lang-core" group.
> To unsubscribe from this topic, visit 
> https://groups.google.com/d/topic/elixir-lang-core/tF2Xw8nq-O0/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to 
> elixir-lang-core+unsubscr...@googlegroups.com.
> To view this discussion visit 
> https://groups.google.com/d/msgid/elixir-lang-core/CAGnRm4Jjq9rUfhDieAEXQMwyZ2en7D6KcEGtywjAzJ5CD5mJkA%40mail.gmail.com.

-- 
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 elixir-lang-core+unsubscr...@googlegroups.com.
To view this discussion visit 
https://groups.google.com/d/msgid/elixir-lang-core/101306d8-923e-4ba2-9f0c-46d4f992d70c%40Spark.

Reply via email to