List of Listings

 

Chapter 1. First steps

Listing 1.1. Erlang-based server process that adds two numbers

Listing 1.2. Elixir-based server process that adds two numbers

Listing 1.3. Elixir-based server process to add numbers based on a third-party abstraction

Chapter 2. Building blocks

Listing 2.1. Defining a module (geometry.ex)

Listing 2.2. Functions with the same name but different arities (arity_demo.ex)

Listing 2.3. Same-name functions, different arities, default params (arity_calc.ex)

Listing 2.4. Module with a public and a private function (private_fun.ex)

Listing 2.5. Elixir script (script.exs)

Chapter 3. Control flow

Listing 3.1. Pattern-matching function arguments (rect.ex)

Listing 3.2. Multiclause function (geometry.ex)

Listing 3.3. Multiclause function (geometry_invalid_input.ex)

Listing 3.4. Using guards (test_num.ex)

Listing 3.5. Using guards (test_num2.ex)

Listing 3.6. Counting the lines in a file (lines_counter.ex)

Listing 3.7. Printing the first n natural numbers (natural_nums.ex)

Listing 3.8. Calculating the sum of the list (sum_list.ex)

Listing 3.9. Tail-recursive sum of the first n natural numbers (sum_list_tc.ex)

Chapter 4. Data abstractions

Listing 4.1. Initializing a to-do list (simple_todo.ex)

Listing 4.2. Adding an entry (simple_todo.ex)

Listing 4.3. Querying the to-do list (simple_todo.ex)

Listing 4.4. Implementing the MultiDict abstraction (todo–multi_dict.ex)

Listing 4.5. TodoList relying on a MultiDict (todo_multi_dict.ex)