It is also important to note that both kinds of comparisons are important to have in a language. The docs for main discuss this: https://hexdocs.pm/elixir/main/Kernel.html#module-structural-comparison
On Fri, Mar 3, 2023 at 7:47 AM Austin Ziegler <halosta...@gmail.com> wrote: > In this case, because Elixir is passing the `<` and `>` comparisons to the > underlying BEAM operations and there’s no overloading to say that `left < > right` should mean `DateTime.compare(left, right) < 0` and `left > right` > should mean `DateTime.compare(left, right) > 0` (if I’m remembering > `DateTime.compare/2` correctly). > > `CompareChain` does that, but it’s something that gets opted into. > > -a > > On Thu, Mar 2, 2023 at 10:42 PM 최병욱 <cbw0...@gmail.com> wrote: > >> So Why don't we implicitly sort it so that it can be compared by >> inequality sign(> or <)? >> >> 2023년 3월 3일 금요일 오전 10시 3분 25초 UTC+9에 william.l...@cargosense.com님이 작성: >> >>> Shameless plug: I wrote a library called `CompareChain` that allows you >>> to use operators like `<` and `>` on structs like `DateTime`. >>> >>> Hexdocs: https://hexdocs.pm/compare_chain/readme.html >>> >>> On Thursday, March 2, 2023 at 10:54:08 AM UTC-5 Jay Rogov wrote: >>> >>>> Because the underlying structure used to represent DateTime is a >>>> struct, which is simply a map under the hood. >>>> Erlang/Elixir uses a rather arbitrary order of keys (e.g. hour -> year >>>> -> day -> minute) when comparing 2 maps which you can't control. >>>> >>>> Thus, you need to have a specific function that would compare these >>>> structs according to implied field order (year -> month -> day -> hour -> >>>> etc.) >>>> >>>> More: >>>> https://hexdocs.pm/elixir/main/NaiveDateTime.html#module-comparing-naive-date-times >>>> >>>> On Thursday, 2 March 2023 at 4:38:00 pm UTC+1 cbw...@gmail.com wrote: >>>> >>>>> Can't you compare DateTime with '>' or '<' instead of DateTime.compare? >>>>> >>>> -- >> 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 elixir-lang-core+unsubscr...@googlegroups.com. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/elixir-lang-core/afa3830a-8944-4e12-84cc-d8e28d9fceb0n%40googlegroups.com >> <https://groups.google.com/d/msgid/elixir-lang-core/afa3830a-8944-4e12-84cc-d8e28d9fceb0n%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> > > > -- > Austin Ziegler • halosta...@gmail.com • aus...@halostatue.ca > http://www.halostatue.ca/ • http://twitter.com/halostatue > > -- > 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 elixir-lang-core+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/elixir-lang-core/CAJ4ekQuHMtqrAVs-kwCo4NQC7vyWV3O8RpAm3c6tgDoiVa%2B5bw%40mail.gmail.com > <https://groups.google.com/d/msgid/elixir-lang-core/CAJ4ekQuHMtqrAVs-kwCo4NQC7vyWV3O8RpAm3c6tgDoiVa%2B5bw%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 elixir-lang-core+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/elixir-lang-core/CAGnRm4J_4g6KizLv%2BZYe-gt82vA25sZ2-Z1Eq3_bVZ6JL3jh9Q%40mail.gmail.com.