There's not so much elixir can do to improve erlang's :math, it's already [implemented](https://github.com/erlang/otp/blob/master/lib/stdlib/src/math.erl)with NIFs. Rewriting it in pure elixir/erlang would only degrade performance.
Other question is why doesn't :math have more functions? BEAM wasn't built for the purpose of number crunching - there's plenty info about slow math in erlang. Although it had improved recently, I'd recommend to look into elixir nx or similar tools. If I understand correctly, they effectively bypass BEAM bytecode/NIFs shenanigans, and compile to native code with vectorization and whatnot. If erlang would add something unholy to its stdlib, you'll be free to ignore it, and keep using your righteous implementation :) ------- Original Message ------- On Thursday, February 23rd, 2023 at 22:23, Julian Somoza <julian.som...@gmail.com> wrote: > Hi, I would like to understand why or what would be the problem with having > our own Math module on Elixir. I know that some people think that has no > sense to duplicate modules that already exist in Erlang but... Where is the > "sovereignty"? > > If I would like to add a new math function, why do I need to ask another > language (Erlang) to be able to have it in Elixir. Elixir could have a Math > module implementing/bypassing :erlang base function, and adding extra > functions "over" without dependency... > > For example, if I would like to propose a GCD function for :math and the > community approve the de proposal, I would need to go to another community, > ask there, program it in erlang (learn a bit of erlang of course), wait for > the release, update and update the erlang version on my servers... > > On the other hand, what happen if Erlang add things to the core which we > don't like to have? We are always obliged to accept what comes from above? > Having our own Math module we could decide to not have GCD function if in > Elixir we think that is not necessary or just don't like to have it. > > Just sharing my thought, I hope I don't offend anyone, and wish to read > another point of view. > > Best, > Julian. > > -- > 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/b66261a7-9f17-4c10-b2d8-0f77b0c338ben%40googlegroups.com](https://groups.google.com/d/msgid/elixir-lang-core/b66261a7-9f17-4c10-b2d8-0f77b0c338ben%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 elixir-lang-core+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/elixir-lang-core/HYb5YF6P5tzJFgwRetwx29BnzhQhx6qysrldv8ST-TaQ5hGTHkFWOGuQJevlHOxgCYgJ7XQX_NkXsi0ZNMbtezuS6N7g5u3aSBpJhrmjRWo%3D%40pm.me.