I have also one proposal to for loops:
reverse: true
for applies already the reverse and when I don't care about the order, or 
want to reverse the result anyway then it has to be reversed twice.
It would be a nice addition that could add a small bit of performance in 
some cases. Also it should not conflict with existing features?.

On Friday, November 15, 2024 at 3:16:04 PM UTC+1 cbla...@gmail.com wrote:

> 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....@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 <cbla...@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....@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 <cbla...@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
>>>>>  
>>>>> <https://groups.google.com/d/msgid/elixir-lang-core/f8b94dec-35a1-4b78-a14c-6913c7206fe3n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>> .
>>>>>
>>>> --
>>> 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 visit 
>>> https://groups.google.com/d/msgid/elixir-lang-core/736e38fd-e0dd-4489-b079-73c116b5ecb7n%40googlegroups.com
>>>  
>>> <https://groups.google.com/d/msgid/elixir-lang-core/736e38fd-e0dd-4489-b079-73c116b5ecb7n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>> --
>> 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-co...@googlegroups.com.
>> To view this discussion visit 
>> https://groups.google.com/d/msgid/elixir-lang-core/CAGnRm4JEM%3DUD70e%2BpNXyKQqNxMB_gZnMbj%2By8ZH7tTr6rO5ahQ%40mail.gmail.com
>>  
>> <https://groups.google.com/d/msgid/elixir-lang-core/CAGnRm4JEM%3DUD70e%2BpNXyKQqNxMB_gZnMbj%2By8ZH7tTr6rO5ahQ%40mail.gmail.com?utm_medium=email&utm_source=footer>
>> .
>>
>> --
>> 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 visit 
>> https://groups.google.com/d/msgid/elixir-lang-core/96f52834-4980-4679-a2ac-b22afacf12cd%40Spark
>>  
>> <https://groups.google.com/d/msgid/elixir-lang-core/96f52834-4980-4679-a2ac-b22afacf12cd%40Spark?utm_medium=email&utm_source=footer>
>> .
>>
> --
> 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-co...@googlegroups.com.
>
> To view this discussion visit 
> https://groups.google.com/d/msgid/elixir-lang-core/CAGnRm4Jjq9rUfhDieAEXQMwyZ2en7D6KcEGtywjAzJ5CD5mJkA%40mail.gmail.com
>  
> <https://groups.google.com/d/msgid/elixir-lang-core/CAGnRm4Jjq9rUfhDieAEXQMwyZ2en7D6KcEGtywjAzJ5CD5mJkA%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>
>

-- 
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/793ca043-3d4c-42ea-abf2-e245f0bf4566n%40googlegroups.com.

Reply via email to