The wide world of almost-actors: comparing the Pony language to BEAM languages

As Erlang & Elixir programmers, the Actor Model of computation sits comfortably in our minds. Processes that communicate only by message passing makes building concurrent applications easy. It feels natural. We take it for granted.

The inventor of the Actor Model, Dr. Carl Hewitt, says that Erlang does not implement the Actor Model.

Erlang co-creators Joe Armstrong and Robert Virding agree with Hewitt.

Let's explore Actor Model wrongs & rights with BEAM languages compared to Pony.


  • Have a solid understanding of what the Actor Model of computing is and the BEAM VM's interpretation of the model.
  • You will be very tempted to start writing safe, fast, concurrent programs in Pony.
  • You'll look at the BEAM's selective receive operator with fresh, new eyes.
  • You'll start seeing differences in other actor languages & frameworks used in industry, such as E, Scala, Akka, and Orleans.


People who want to understand why the BEAM VM is what it is today, but how other languages (such as Pony) can make very different choices when implementing the Actor Model.

And anyone interested in learning more about the Pony language.