Discover. Learn. Code.

Dedicated to supporting, and growing, community packages and documentation for Elixir and Erlang.

BEAM is part of the Erlang Run-Time System (ERTS), which compiles Erlang and Elixir source code into bytecode, which is then executed on the BEAM.

Featured Projects


An Avro Library that emphasizes testability and ease of use.

Elixir Companies

A list of companies currently using Elixir in production.


Build simple and robust authorization systems with Elixir and Plug

UA Parser

UserAgentParser implementation for Elixir

We Support

Elixir School

Elixir School is the premier destination for people looking to learn and master the Elixir programming language.


An Elixir Authentication System for Plug-based Web Applications


Minimalistic HTML templates for Elixir, inspired by Slim.

Need a plug?

Contact us to join the family.

A History of Erlang and The BEAM

In this piece, we will explore the history that has lead us to the Erlang ecosystem and BEAM Virtual Machine we know and love today.


Research begins to determine an appropriate language for new telecom systems

This was the beginning research phase trying to determine what might be a great building block for new types of telecom software. They wanted something that had high level abstractions to allow for large productivity gains, trying to break out of constraints introduced from their current systems. Leading contenders included Prolog and Lisp, among others.


Initial Prolog Implementation Derived

The intial proof of concept is built in Prolog. Features are quickly iterated upon, eventually building up to JAM: Joe's Abstract Machine.


Work on a new programming language begins internal to Ericsson


Erlang released at international telecomm conference ISS'90


Fast implementation of Erlang released.

More functionality such as ASN1 - Compiler, GUI, and more.

Erlang is represented at Telecom'91


Erlang ported to VxWorks, PC, Macintosh, and other platforms


Distribution is added to Erlang. Ericsson dedicates resources to supporting Erlang externally.


Ericsson begins work on OTP internally


The Open Telecom Platform (OTP) prototype delivered.


Erlang is open sourced


Elixir development begins


Elixir 1.0.0 is released