small medium large xlarge

The latest version of the book is P1.0, released over 1 year 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)
#82976
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)
#84185
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)
#84186
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)
#82843
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)
#85377
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)
#84125
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)
#85384
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 (07-Jan-19)
#84281
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)
#85394
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)
#85397
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)
#85398
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)
#85389
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)
#85396
PDF page: 172

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