Elixir describes itself as a functional, meta-programming-aware language built on top of the Erlang virtual machine.