List of Figures

 

Chapter 1. The Erlang/OTP platform

Figure 1.1. Erlang processes running on uniprocessor and on multiprocessor hardware, respectively. The runtime system automatically distributes the workload over the available CPU resources.

Figure 1.2. An exit signal triggered by a crashing process is propagated to all its linked processes, generally making those terminate as well so that the whole group is cleaned up.

Figure 1.3. Supervisor, workers, and signals: the crash in one of the worker processes is propagated to the other linked processes until the signal reaches the supervisor, which restarts the group. The other group of processes under the same supervisor isn’t affected.

Figure 1.4. A layered system of supervisors and workers. If for some reason supervisor A dies or gives up, any still-living processes under it are killed and supervisor C is informed, so the whole left-side process tree can be restarted. Supervisor B isn’t affected unless C decides to shut everything down.

Chapter 2. Erlang language essentials

Figure 2.1. A list cell—the primitive building block of lists (two adjacent words in memory)

Figure 2.2. The list cell structures in the example in the text. The left is a simple list, made from adding 2 and 1 on top of [3,4]. The right is a list of three elements [1,2,X], where the last element X is the list [3,4].

Figure 2.3. Sum of times for N iterations of a quadratic function = area of triangle

Chapter 3. Writing a TCP-based RPC service