I propose to add `into: collectable` as optional third argument to 
Enum.map. 

This would allow mapping over things without first converting it to a list 
and then convert it back.

So:

%{"a" => 1, "b" => 2}
|> Enum.map(fn {k, v} -> {String.upcase(k), v} end)
|> Enum.into(%{})

could be written as:

%{"a" => 1, "b" => 2}
|> Enum.map(fn {k, v} -> {String.upcase(k), v} end, into: %{})

Not having to do the list conversion in the middle might also improve 
performance.


Right now, enumerating and collecting in one go is of course possible using 
`Kernel.SpecialForms.for`. `for` is however not very pipeline-friendly.


What do you think?


Sincerely,

~Wiebe-Marten

-- 
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/23c345b9-9ba1-48ea-8db0-6d2e9e700473%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to