We try to keep our books accurate, but sometimes mistakes creep in. This page lists the errors submitted by our astute readers. If you've found a new error, please submit it.

The latest version of the book is B14.3a, released 14 days ago. If you've bought a PDF of the book and would like to upgrade it to this version (for free), visit your home page.

Key: Typo Tech. Error Suggestion Not a problem Next edition

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

(To find out what version you have, look at the copyright page, a few pages in from the front of the book. If it says (say) 'Second Printing', then here it'll be P2.0. If there are interim PDF releases in that printing, they'll be 2.1, 2.2, and so on.)

PDF Paper Description Found in Fixed in
87
#77036: When I enter the code from the example get_in_func.exs I get the following error: ** (ArgumentError) the access protocol for lists expect t...more...
B14.3a
22-Jul-14
94

#77017: The sorting examples have been changed in this edition and you no longer use <= in your sample. This makes the note on sorting seem a little odd.--Barry Perryman

B14.3a
16-Jul-14
112
#76851: In the graphemes section, my results are different from yours: iex(6)> String.graphemes "Ā`stute" ["Ā", "`", "s", "t", "u", "t", "e"] I tri...more...
Dave Thomas says: This is a problem with the font used to render the example—it cannot represent the character "Ā̀" I'll work out a fix nearer production time.
B13.3.13.3
10-Jun-14
148
#77037: The decode_response function in the pdf has a typo (and does not match the code online): def decode_response({:error, msg}) rather than ...more...
B14.3a
22-Jul-14
148
#77046: I believe there is a ":" missing before "error" in the following: def decode_response({:error, msg}) do {_, message} = List.keyfind(error, ...more...
B14.3a
25-Jul-14
155
#77021: The mix escript.build returns an error: (Mix) The task escript.build could not be found I am using Elixir v0.14.0-dev with Erlang/OTP 17. ...more...
B14.3a
17-Jul-14
160
#77022: When I run mix docs, I get an error: == Compilation error on file lib/ex_doc/markdown/earmark.ex == ** (CompileError) lib/ex_doc/markdown/...more...
B14.3a
18-Jul-14
197
#77010: When generating the Sequence project we don't pass the --sup flag so the Supervisor isn't setup in lib/sequence and it isn't added to the mod ...more...
B14.3.14.3
15-Jul-14
212

#77011: In the example code for sequence.ex, `use Application.Behaviour` can be changed to just `use Application`--Richard Bishop

B14.3a
15-Jul-14
224
#77012: In the paragraph just after running `mix compile`: "Mix tells us it has created a sequence.app file, but where is it? As of Elixir 0.11.2, ...more...
B14.3a
15-Jul-14
225
#77013: In the line of text in between mix.exs and lib/sequence.ex code samples we have: "and then accessed the value using gen_env:" This shoul...more...
B14.3a
15-Jul-14
227
#77008: Application.get_env is now /2 instead of /1. (Using 0.14.3) I had to change the `mix.exs` listing to: ``` def application do [ mod:...more...
B14.3a
15-Jul-14
230
#77025: The last time we visited the Sequence.Server code base we had added the functionality for the Stash.Server. The code sample on page 230 doesn'...more...
B14.3a
19-Jul-14
234

#77028: At the top of the page:

"The call to Task.async creates an separate process that runs the given function."

"an" can just be "a"--Richard Bishop

B14.3a
20-Jul-14
235
#77029: In the IEx session for the counter Agent, the return value of final Agent.get(count, &(&1+1)) is shown as being 2. Since we increment the numb...more...
B14.3a
20-Jul-14
238
#77014: Copypasta errors for the distributed anagram examples. Window #1: sname is `one`, but iex session shows `node_one` Window #2: sname is `on...more...
B14.3a
15-Jul-14
255
#77041: It’s instructive to try creating values and inspecting them with records: false => It’s instructive to try creating values and inspecting th...more...
B14.3a
23-Jul-14
263

#77030: In the section "protocols/bitmap_access.exs" the "defimpl Access" should have a "do" after it and "def access" should be "def get".--Ruben Pierich

B14.3a
20-Jul-14
271
#77009: The previous example of Sequence.Server didn't start with "use GenServer.Behaviour" as indicated at the very beginning of this chapter. It's ...more...
B14.3a
15-Jul-14
289
#76692: In the listing for client.ex (near top of page), the function other_function contains the line: "Simple.count_atoms [:a, :b, :c]", but this li...more...
B12.0.12.3
18-Apr-14