Elixir Nx. What Do We Know About This Mysterious Project?

Here is my take on what Elixir Nx could be, based on some Twitter intel and my own speculations.

Got comments?
Elixir Nx. What Do We Know About This Mysterious Project?
This post is also available as a special edition of my bi-weekly newsletter "This Week in Elixir and Erlang". Subscribe to stay tuned for more interesting news and resources from aroung the Elixir/Erlang programming community.

If you are working with Elixir or paying close attention to the community, there is hardly any way you could have missed José Valim's tweets about a mysterious new project called Nx:

José has been teasing for months, occasionally posting screenshots with exciting benchmarks:

About a week ago, he also introduced a logo and a cute little mascot for the project:

For those thinking whether this is a squirrel, skunk, or perhaps a fox - it's neither. It is a Numbat, a marsupial native to southern Australia. Having been a long-time fan of Go's gopher, I like the idea of introducing a mascot. It helps make programming and science communities look more friendly and welcoming, especially to new joiners.

That's all cool, but what is Nx about?

Honestly, no one but José, the folks at Dashbit, and the hosts of the Thinking Elixir podcast (to whom he spoke about the project - the episode has not been released yet) seems to know. There are quite a few clues, though. Like this one:

For those that don't know, Sean Moriarity is the author of a library and a recently released book on genetic algorithms in Elixir. So, something about machine learning, then? Or perhaps, fast numeric computations. It makes a lot of sense, especially when looking at the project's visual identity - the "N" in Nx probably stands for Numeric. This is further supported by the name of the mascot - Numbat. Numbat, got it? Others speculated that the N stands for Native (as in NIF - a way to mix Elixir/Erlang with fast C code), again supported by the numbat being native to Australia. Anyway, I hope you're starting to get the idea.

If this turns out to be accurate, Nx will help introduce a whole new class of potential use cases for Elixir in areas where the BEAM VM has traditionally not been the first choice.

When will Nx be officially released?

According to José on Twitter, he will officially show Nx to the general public during Lambda Days 2021 (Feb 16-19). Let's have a little more patience, and we will finally get to know everything about this new exciting addition to the Elixir family.