FWIW, I like the "indexed" function name; I think the past tense of the verb helps indicate what it returns. The ambiguous nature of the verb/noun "index" in English makes for confusion, for sure. "What does Enum.indexed do?" "It returns the Enum, indexed." "Ah."
...Paul On Tue, Dec 8, 2020 at 1:10 PM José Valim <[email protected]> wrote: > The main reason for an index function is to make it easier to build a map: > > Map.new Enum.index(data) > > I agree the duplicity between noun and verb is undesirable though. > > On Tue, Dec 8, 2020 at 9:52 PM Kelvin Raffael Stinghen < > [email protected]> wrote: > >> I can't see why not just `x |> Stream.with_index() |> Stream.map(fn {v, >> i} -> {i, v} end)`... I mean, lots of proposals for similar functions got >> denied because it would be easy to develop a lib that does it cause Elixir >> is awesomely extensible, so why bothering add another variant? Do you have >> to do that too many times on Elixir core or something like that? >> >> Em terça-feira, 8 de dezembro de 2020 às 17:44:45 UTC-3, [email protected] >> escreveu: >> >>> If this is related to the mystery benchmark tweets, José, then I guess >>> I'm in favor of the proposal :-) >>> >>> I do prefer Felipe's name of `Enum.indexed/1` though. While `index` can >>> be a verb, it's ambiguous with the noun. `indexed` is clearly a past tense >>> verb. >>> >>> -Greg Vaughn >>> >>> > On Dec 8, 2020, at 2:13 PM, José Valim <[email protected]> wrote: >>> > >>> > I considered the option but I prefer to avoid using options that >>> change the return type. >>> > >>> > On Tue, Dec 8, 2020 at 9:11 PM Felipe Stival <[email protected]> >>> wrote: >>> > I'm not sure. Sounds a bit ambiguous, couldn't this be an option for a >>> new Enum.with_index/3? >>> > >>> > Em ter., 8 de dez. de 2020 às 17:05, José Valim <[email protected]> >>> escreveu: >>> > I would like to propose an Enum.index/2 function. It behaves like >>> with_index/2 but the index is the first argument: >>> > >>> > iex> Enum.index([:a, :b, :c]) >>> > [{0, :a}, {1, :b}, {2, :c}] >>> > >>> > I am hoping it reads "index" this tuple (hence the index as the first >>> element. While with_index means attach an index information to each element >>> (hence the second element). Is this sound? >>> > >>> > Thank you, >>> > >>> > >>> > -- >>> > 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/CAGnRm4K6h7c1UbiEfoEsyCXGJRbO8he%3DFJ84yxC%2B3-GOo-2MwQ%40mail.gmail.com. >>> >>> > >>> > >>> > -- >>> > >>> > Felipe Stival, Electrical Engineering Student >>> > Santa Maria, Rio Grande do Sul >>> > Brasil >>> > v0idpwn.github.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/CAKC64%2Bx4zERK_axkS2puMT9Qa8dJKYEh_Z3QNDf977eJG0-6aw%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 [email protected]. >>> > To view this discussion on the web visit >>> https://groups.google.com/d/msgid/elixir-lang-core/CAGnRm4Kj%3DS54yn-1jmoaG%2BKEab9ZLpagHYDfpNEu%2BSbtTdj%2B4g%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 [email protected]. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/elixir-lang-core/84a8a35f-13b7-4b83-95b5-2c414df6cc04n%40googlegroups.com >> <https://groups.google.com/d/msgid/elixir-lang-core/84a8a35f-13b7-4b83-95b5-2c414df6cc04n%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 [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/elixir-lang-core/CAGnRm4LVZ%2BDSd3tuUe-Y0Rczn1p8aL69-mDYNVYtoBy_P%3D6kRA%40mail.gmail.com > <https://groups.google.com/d/msgid/elixir-lang-core/CAGnRm4LVZ%2BDSd3tuUe-Y0Rczn1p8aL69-mDYNVYtoBy_P%3D6kRA%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 [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/elixir-lang-core/CAD3kWz8wvbgfGPFHXZFTGLS_ZSmzVnGzC7yuyT6Up%3DsNqsi_Mw%40mail.gmail.com.
