Elixir est né de plusieurs constats ; d'une part le fait que la fréquence des processeurs cesse de progresser durant les années 2000, laissant place à l'émergence de processeurs multi-cœurs[2],[3] ; et d'autre part que l'écosystème Erlang, et notamment sa machine virtuelle, tire avantage de ce type d'architectures multi-processeurs, toute exécution d'un programme étant constituée d'un ensemble de micro processus parallèles[2]. Elixir est précisément né afin de pallier certaines carences d'Erlang relatives à certains paradigmes ou certaines approches de programmation telles que la métaprogrammation ou le polymorphisme[4].