Elixir: functional language built on the Erlang VM

Elixir logo

From the Elixir website (via Tim Bray’s blog) :

Elixir is a functional, meta-programming aware language built on top of the
Erlang VM. It is a dynamic language with flexible syntax and macro support that
leverages Erlang’s abilities to build concurrent, distributed and fault-tolerant
applications with hot code upgrades.

Elixir also provides first-class support for pattern matching, polymorphism via
protocols (similar to Clojure’s), aliases and associative data structures
(usually known as dicts or hashes in other programming languages).

Finally, Elixir and Erlang share the same bytecode and data types. This means
you can invoke Erlang code from Elixir (and vice-versa) without any conversion
or performance hit. This allows a developer to mix the expressiveness of Elixir
with the robustness and performance of Erlang.