The first part of the book is an introduction to the Elixir language. We start by providing a high-level overview of Elixir and Erlang, discussing the goals and benefits of both technologies. In chapter 2, you’ll learn about the basic building blocks of the Elixir language, such as modules, functions, and the type system. Chapter 3 details the treatment of pattern-matching and control-flow idioms. In chapter 4, you’ll learn how to implement higher-level data abstractions with immutable data structures.