small medium large xlarge

The latest version of the book is P1.0, released over 2 years ago. If you've bought a PDF of the book and would like to update it to this version (for free), visit your home page.

By default this page displays the errata for the latest version of the book. If you have a previous version, select it here:

If you've found a new error, please submit it.

  • Typo
  • Tech. error
  • Suggestion
  • Maybe next edition
  • Not a problem
  • Reported in: P1.0 (08-Apr-18)
PDF page: 3
Book's example: list = [1, 2, 3, 4] List.delete_at(list, -1) # => [4] My iex result: iex(1)> list = [1, 2, 3, 4] [1, 2, 3, 4] iex(2)> List.d...more...
  • Reported in: P1.0 (24-Dec-18)
Paper page: 15
"The || is kind of or operator that works with Booleans and values." should be "The || is a kind of or operator...". The sentence from the book is mis...more...
  • Reported in: P1.0 (24-Dec-18)
Paper page: 18
Example for Creating Anonymous Functions says "we'll build messages to say hello to Ana, John, and the world." The first example lists Mary instead of...more...
  • Reported in: P1.0 (02-Mar-18)
Paper page: 22
This sentence: " That’s why the anonymous function can’t see the make_answer variable: it was defined after the function-creation expression" Shou...more...
  • Reported in: P1.0 (10-Jun-19)
PDF page: 27
While compile a source code file in a name space please write iex > c("ecommerce/checkout.ex") instead of iex > c("checkout.ex") source code...more...
  • Reported in: P1.0 (08-Dec-18)
Paper page: 31
In the last exercise of the "Your Turn" section there is the following sentence: The boxes can’t have fewer matchstick that they can hold; they mus...more...
  • Reported in: P1.0 (12-Jun-19)
PDF page: 61
When we " look at how it works step by step:" (how the function "sum" works) there is a typo - unnecessary square brackets there is sum([10, 5, 15]]...more...
  • Reported in: P1.0 (28-Aug-19)
Paper page: 63
The same typo has in a paper page number 64. Book Example: recursion/lib/enchanter_shop.ex @enchanter_name "Edwin" def enchant_for_sale([]),...more...
  • Reported in: P1.0 (07-Jan-19)
Paper page: 78
In the first paragraph of the page, the second and third sentences read as "When we create recursive functions, we call functions that have the same n...more...
  • Reported in: P1.0 (14-Jun-19)
PDF page: 101

Compiler suggestion:
warning: Stream.chunk/2 is deprecated. Use Stream.chunk_every/2 instead--Anatolii Kosorukov

  • Reported in: P1.0 (14-Jun-19)
PDF page: 107
After launching the comand 'mix test', the result looked different (in more detail): Compiling 1 file (.ex) Generated dungeon_crawl app .. Fin...more...
  • Reported in: P1.0 (14-Jun-19)
PDF page: 109
After adding a task to a project and run new task by 'mix start' command the output message should be: Compiling 1 file (.ex) Generated dungeon_craw...more...
  • Reported in: P1.0 (13-Jun-19)
PDF page: 169
In the second exercise in the last function definition "def filter_items([item | rest], magic: filter_magic) do" while compiling the source code we ge...more...
  • Reported in: P1.0 (14-Jun-19)
PDF page: 172

The order of the exercises are confused. The answers to exercise 2 and 3 are mixed up.--Anatolii Kosorukov