For those interested:
https://elixir-lang.org/Normally with most programming languages you have to keep track of each variables type and size to not overflow either memory or its native range limits.
With Elixir that is not normally a concern. Pretty much anything can be any size up to the point of running out of system memory. An "integer" can be any integer value, literally, and you can use all the standard math functions with it regardless of value. There are no 32 bit or 64 bit limits on its value. You can compute things and not be concerned about how large intermediate values are. And with integers there is no truncation meaning calculations can be exact without rounding or floating point representation issues. You can also use/mix in floating point at will.
C commonly uses pointers. Pointers are powerful but also a common source of system crashes that can be very hard to isolate. Elixir has no pointers - and not need for them.
For multicore processors and real time systems with many concurrent processes running at the same time there's no need for mailboxes and other complex thread management processes. Variables are immutable so that they can't be affected by other processes which prevents many side effects, all while thousands of processes can be running at the same time. It is all under the hood and essentially invisible to the programmer - its freaking magic!
And it runs very well on small low cost embedded systems all the way to major commercial Web servers with millions of users interacting with it in real time.