Does the Enumerable protocol enable the performance improvement of not converting to a list? I don't think it does.
On Thu, Jul 7, 2016, 10:24 AM Andrea Leopardi <[email protected]> wrote: > Enum.into/3 should do what you want :) > > On Thursday, 7 July 2016, Wiebe-Marten Wijnja <[email protected]> > wrote: > >> 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 >> <https://groups.google.com/d/msgid/elixir-lang-core/23c345b9-9ba1-48ea-8db0-6d2e9e700473%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> For more options, visit https://groups.google.com/d/optout. >> > > > -- > > Andrea Leopardi > [email protected] > > -- > 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/CAM9Rf%2BLY6tyh%3DE6iM%2BA7rmyY8dKP-ddCJpB%2BWZDn0jCuJ7FKaA%40mail.gmail.com > <https://groups.google.com/d/msgid/elixir-lang-core/CAM9Rf%2BLY6tyh%3DE6iM%2BA7rmyY8dKP-ddCJpB%2BWZDn0jCuJ7FKaA%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/d/optout. > -- 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/CAOMhEnyR_50BhVdVugiQqDUxY9jUBNRCR23Bao%3DhwQ9Zmeh4PA%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
