Erlang is a concurrent, functional programming language designed for programming large industrial real-time systems. The language is untyped and has a pattern matching syntax. Functions are written as a set of recursion equations and the language has explicit concurrency and asynchronous message passing. Written in a tutorial style, this book emphasizes learning through example, illustrating a number of problems in designing and programming concurrent fault-tolerant real-time systems. This edition features new chapters on distributed programming, distributed programming techniques and distributed data.
While the concepts remain useful, the code unfortunately suffers from bit rot due to improvements in Erlang. It's dated and rather unnecessary now that Joe Armstrong's own Erlang book was just published by the Pragmatic Programmers.