Erlang/OTP was designed for building large scale, concurrent, fault tolerant systems. In this tutorial we will look at the basic concurrency and error handling primitives in Erlang and how they are used to build such systems. We will also look at OTP and how it supports building fault-tolerant systems. Examples will be given in three languages which run in the Erlang eco-system, Erlang, LFE (Lisp Flavoured Erlang) and Elixir, and show how these languages all can use the properties of the eco-system to build systems and how they can be used together in one system.
The BEAM, the Erlang VM, was designed to implement Erlang. This has led to that the features it provides and its limitations are different from most other VMs. In this talk we learn will why the BEAM looks like it does and how this affects the implementation of languages on it. We will also show the Erlang compiler workflow and how to use this when implementing languages. Finally we will show examples of how to "go beyond" the BEAM and implement features for which it was wasn't originally designed and the costs this can entail.
Robert Virding is Principal Language Expert at Erlang Solutions Ltd. While at Ericsson AB, Robert was one of the original members of the Ericsson Computer Science Lab, and co-inventor of the Erlang language. He took part in the original system design and contributed much of the original libraries, as well as to the current compiler.
While at the lab he also did a lot of work on the implementation of logic and functional languages and on garbage collection. He has also worked as an entrepreneur and was one of the co-founders of one of the first Erlang startups (Bluetail). Robert also worked a number of years at the Swedish Defence Materiel Administration (FMV) Modelling and Simulations Group. He co-authored the first book (Prentice-Hall) on Erlang, and is regularly invited to teach and present throughout the world.