TLDR: it's a nit picking and may introduce breaking changes without possibly any significant gain, except conceptual clarity and explicitness.
iex(27)> n = 4 4 iex(28)> 1..n |> Enum.into([]) [1, 2, 3, 4] iex(29)> n = 1 1 iex(30)> 1..n |> Enum.into([]) [1] iex(31)> n = 0 0 iex(32)> 1..n |> Enum.into([]) [1, 0] The result for n = 0, is little bit magical, as I was expecting it to return [], but instead it auto-magically detected that end is less than start and hence it counted decrementally. I think it creates confusion, particularly when both start and end are not constants like the above case given. So does it make sense to restrict the behavior of .. operator to always count incrementally. For the case of decremental counting Enum.reverse can be used. In that sense 1..4 |> Enum.reverse() is identical to present behaviour of 4..1 -- 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/da1cd897-1410-4237-b95f-04e61ec7bcfe%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
