Scott Lystig Fritchie

Developer, Co-chair ACM Erlang Workshop (Wallaroo Labs)

Scott Lystig Fritchie was a UNIX systems administrator until he returned to programming full-time at Sendmail, Inc. While at Sendmail in 2000, a colleague introduced him to Erlang. His world hasn't been the same since.

In addition to writing Erlang and occasionally C for the Erlang virtual machine, he has had papers published by USENIX, the Erlang User Conference, and the ACM and has given presentations at Erlang Factory and Ricon. He was co-chair of the 2016 & 2017 ACM Erlang Workshops (Nara, Japan and Oxford, UK) and will probably ask you to submit a paper for the 2018 workshop in St. Louis, Missouri, USA.

Scott works at Wallaroo Labs on a polyglot distributed system of Pony, Python, Go, and C.

Scott Lystig Fritchie's talk:

Wide World of Actors: comparing the Pony language to Erlang

As Erlang & Elixir/OTP 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 Pony language started with the same foundation as Erlang: the actor model of message passing and independent, concurrent computing units.

But Pony is a very different beast. Pony uses a strong static type system to create crash-free, concurrency-safe access to sharable, garbage-collected memory without running in a virtual machine.

To begin, Scott will review the actor model's definition and history. He will then discuss the design trade-offs that took Erlang/OTP's and Pony's implementations down very different paths. As an example, Erlang/Elixir's "selective receive" feature allows message handling in any order. Pony's message receiving is strictly first-in first-out (FIFO) order only. What good comes from that difference?


Talk objectives

  • 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 start seeing differences in other actor languages & frameworks used in industry, such as Scala, Akka, and Orleans and in static typing systems such as Rust's.
  • You'll definitely start using the Dialyzer on your Erlang & Elixir code much more often.

All Media with Scott Lystig Fritchie

Wide World of Actors - Code BEAM SF 2018