Hello for me, the current sort function seems very clear: in the resulting enumeration, the predicate will be true for any two adjacent elements.
iex(14)> 1..10 |> Enum.to_list [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] iex(15)> Enum.sort(1..10, &>=/2) [10, 9, 8, 7, 6, 5, 4, 3, 2, 1] iex(16)> 10..1 |> Enum.to_list [10, 9, 8, 7, 6, 5, 4, 3, 2, 1] iex(17)> Enum.sort(10..1, &<=/2) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] I also do not remember of other programming languages having both a "sort" and "reverse_sort" functions. With this in mind, I think we do not need yet another function in an already long Enum interface. Regards, Mário A qui, 17/10/2019, 23:45, OvermindDL1 <[email protected]> escreveu: > I've wanted such a function a few times because passing in the alternated > function is not always clear. Instead of `&>=/2` I'd rather do things like > `¬(&1<&2)` as it makes it unambiguous while reading, and a prepending a > `reverse_` to the sorts is even better still. I'm +1 on this. > > On Thursday, October 17, 2019 at 2:39:42 PM UTC-6, José Valim wrote: >> >> I would like to propose a new small function to Enum, called >> Enum.reverse_sort, that returns sort in the reverse (descending order). >> >> While reversing sorting today is easy to achieve with: >> >> Enum.sort(collection, &>=/2) >> >> I always have a second guess on what the second argument really is. I >> believe reverse_sort is much clearer in intent: >> >> Enum.reverse_sort(collection) >> >> This is clearer with sort_by too. instead of: >> >> Enum.sort_by(users, & &1.name, &>=/2) >> >> I can write: >> >> Enum.reverse_sort_by(users, & &1.name) >> >> The implementation itself is straight-forward. >> >> What I would like to know is: >> >> 1. Is this a good addition? >> 2. Is the name reasonable? Any other takers? >> >> *José Valim* >> www.plataformatec.com.br >> Skype: jv.ptec >> Founder and Director of R&D >> > -- > 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/6384264f-9b2f-4c5d-be5e-54f56d4f79b5%40googlegroups.com > <https://groups.google.com/d/msgid/elixir-lang-core/6384264f-9b2f-4c5d-be5e-54f56d4f79b5%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/CAF7CYk68AEArm7PM39a7T4g1NAVrSO1B%2BTrDwLssxnceWf3h-A%40mail.gmail.com.
