Errata
The errata list is a list of errors and their corrections that were found after the product was released. If the error was corrected in a later version or reprint the date of the correction will be displayed in the column titled "Date Corrected".
The following errata were submitted by our customers and approved as valid errors by the author or editor.
Color key: Serious technical mistake Minor technical mistake Language or formatting error Typo Question Note Update
Version | Location | Description | Submitted By | Date submitted | Date corrected |
---|---|---|---|---|---|
Printed | add quote to cover: |
O'Reilly Media |
Sep 11, 2014 | ||
Page ix �tudes for Elixir |
URL should be updated for "�tudes for Elixir" placeholder present for "url goes here". Unable to click . Found the same from http://chimera.labs.oreilly.com/books/1234000001642 Note from the Author or Editor: |
Sairam | Jul 20, 2013 | Sep 10, 2014 | |
Page Higher Order Functions chapter and elsewhere Throughout the section. |
There is a new capture syntax so examples like: Note from the Author or Editor: |
Nicholas | Dec 14, 2013 | Sep 10, 2014 | |
Page xiii How to contact us |
The link http://elixir-lang.org/packages.html Note from the Author or Editor: |
Arie van Wingerden | Jul 07, 2014 | Sep 10, 2014 | |
Page xii second bullet point |
The link http://oreil.ly/introducing_elixir Note from the Author or Editor: |
Arie van Wingerden | Jul 07, 2014 | Sep 10, 2014 | |
Page 2 "Installing elixir" |
It says "package manages" where I would expect "package managers". Note from the Author or Editor: |
Huib Verweij | Jun 24, 2013 | Sep 10, 2014 | |
Page 7 last code snippet |
iex(8)> and iex(9)> repeated twice. Note from the Author or Editor: |
Sairam | Jul 20, 2013 | Sep 10, 2014 | |
Page 9 1st paragraph |
Should be "lines <19 and 20>, all the values were assigned." Note from the Author or Editor: |
BryanAsh | Oct 04, 2013 | Sep 10, 2014 | |
Page 11 3rd paragraph |
Consider quote marks around "yields" in "I like to read the -> as yields". Note from the Author or Editor: |
David Lorenzetti | Feb 15, 2014 | Sep 10, 2014 | |
Page 11 3rd para under "Fun with fn" |
Looking at "The return value in the shell, #Fun<erl_eval.6.111823515>, isn�t especially meaningful by itself..." Note from the Author or Editor: |
David Lorenzetti | Feb 17, 2014 | Sep 10, 2014 | |
Page 11 middle of page |
It reads "You can read that as a pattern match that binds the variable fall_velocity to a function that takes an argument of distance." Note from the Author or Editor: |
Arie van Wingerden | Jun 22, 2014 | Sep 10, 2014 | |
Page 12 Last paragraph |
Looking at this statement: "However, you can use this style of function, called anonymous functions because they don�t have names, in other code." Note from the Author or Editor: |
David Lorenzetti | Feb 15, 2014 | Sep 10, 2014 | |
Page 13 Second para under "Defining Modules" |
Looking at "...where name_of_module is the lower-case version name you specify inside of the module file." Note from the Author or Editor: |
David Lorenzetti | Feb 15, 2014 | Sep 10, 2014 | |
Page 13 1st para under "And the &" |
Two periods at end of sentence "Elixir offers a shortcut style for defining anonymous functions using &, the capture operator. . " Note from the Author or Editor: |
David Lorenzetti | Feb 15, 2014 | Sep 10, 2014 | |
Page 14 first para |
Looking at "...module - this time starting with a capital letter - and..." Note from the Author or Editor: |
David Lorenzetti | Feb 15, 2014 | Sep 10, 2014 | |
Page 15 last line |
line starting with ((("exs files")))((("scripts"))) in code is not formatted properly, Note from the Author or Editor: |
Sairam | Jul 20, 2013 | Sep 10, 2014 | |
Page 16 1st para under "From Module to Free-Floating Function" |
Looking at "You can specify the function to retrieve with a single argument in the form Module_name.function_name/arity." Note from the Author or Editor: |
David Lorenzetti | Feb 15, 2014 | Sep 10, 2014 | |
Page 18 first full paragraph |
The whole description of the pipe operator feels shoehorned in here to me, mainly because it doesn't really belong in a section called "Splitting Code Across Modules". At minimum, I would give it a section head. After all, the earlier section "From Module to Free-Floating Function" isn't any longer, or any more interesting/important, as far as I can tell. Note from the Author or Editor: |
David Lorenzetti | Feb 15, 2014 | Sep 10, 2014 | |
Page 33 beginning of 'Adding Structure: Tuples' section |
There are two problems in the first paragraph in this section: Note from the Author or Editor: |
Nicholas | Dec 09, 2013 | Sep 10, 2014 | |
PDF, ePub | Page 33 code sample at the bottom |
I noticed that after trying to set_elem in the tuple in the current Elixir version (0.14.1), there are no method set_elem Note from the Author or Editor: |
Ismael G Mar�n C | Jun 21, 2014 | Sep 10, 2014 |
Page 36 2:nd code example |
The function elem/1 is used without a module. This is probably due to a global import done automatically, but I would like to know from what module this is done. Note from the Author or Editor: |
ebengt | Jun 19, 2013 | Sep 10, 2014 | |
Page 39 first full paragraph |
Looking at "The now more readable formula math:sqrt(2 * Gravity * Distance). is the last line..." Note from the Author or Editor: |
David Lorenzetti | Feb 16, 2014 | Sep 10, 2014 | |
Page 40 1st para under "Adjusting to Conditions" |
Looking at "This allows you to write a catch-all clause�a guard matching true at the end if you would like, and often makes it easier to express logic based on broader comparisons than simple matching." Note from the Author or Editor: |
David Lorenzetti | Feb 16, 2014 | Sep 10, 2014 | |
Page 41 Code snippet at the bottom of the page |
In if ... else ... end block in the code snippet "else" is indented more than it should have been. Note from the Author or Editor: |
Mistral Contrastin | Aug 27, 2013 | Sep 10, 2014 | |
Page 47 The beware/scorpion box |
Looking at "if your termination test relies on == or =:= for a more exact comparison rather than >= or <= for a rough comparison" Note from the Author or Editor: |
David Lorenzetti | Feb 16, 2014 | Sep 10, 2014 | |
Page 47 warning/scorpion block |
Looking at "...if your termination test relies on == or =:= for a..." Note from the Author or Editor: |
David Lorenzetti | Feb 16, 2014 | Sep 10, 2014 | |
Page 48 last paragraph |
Variable "result" is lower-case "r", not upper-case "R". Occurs twice in this paragraph. Note from the Author or Editor: |
David Lorenzetti | Feb 16, 2014 | Sep 10, 2014 | |
Page 49 paragraph that starts "The reason this happens..." |
Variable name is "result" not "Result". Note from the Author or Editor: |
David Lorenzetti | Feb 16, 2014 | Sep 10, 2014 | |
Page 50 Bottom |
In a factorial example, I'm not sure that the output describing its process should have an exclamation point at the end. It might confuse the reader to see "3 yields 6!" They might think that 3 then yields 6*5*4*3*2*1 Note from the Author or Editor: |
August De Blieck Jr | Sep 06, 2013 | Sep 10, 2014 | |
Page 51 2nd para under "Strings" |
Looking at the description of escape characters: "If you want to include a double-quote within the string, you can escape it with a backslash, like \". To include a backslash, you have to use \\, and Appendix A includes a complete list of escapes and other options. \n gives you a newline." Note from the Author or Editor: |
David Lorenzetti | Feb 16, 2014 | Sep 10, 2014 | |
Page 52 Second paragraph |
"Elixir also has string interpolation, using {} as a wrapper around content to be added to the string. " Note from the Author or Editor: |
Augie De Blieck Jr. | Sep 06, 2013 | Sep 10, 2014 | |
Page 52 last para |
In sentence "You can put anything that returns a value in the interpolation - a variable, a function call, or an operation on parts." Note from the Author or Editor: |
David Lorenzetti | Feb 16, 2014 | Sep 10, 2014 | |
Page 54 code |
iex(3)> repeated twice. Note from the Author or Editor: |
Sairam | Jul 20, 2013 | Sep 10, 2014 | |
Page 55 first para under "String sigils" |
Looking at "String sigils let you tell the interpreter "this is going to be this kind of content, and you should support interpolation and escaping or not."" Note from the Author or Editor: |
David Lorenzetti | Feb 16, 2014 | Sep 10, 2014 | |
Page 55 heading "String sigils" |
Other section heads tend to capitalize all important words. Hence, "String Sigils" not "String sigils". Note from the Author or Editor: |
David Lorenzetti | Feb 16, 2014 | Sep 10, 2014 | |
Page 58 Code example 5-2: Collecting user responses a line at a time |
In Chapter 5 (Strings), the code example 5-2 has a function that is called, but not defined. In the private function get_distance, it is defined as follows: Note from the Author or Editor: |
Chris Zimmerman | Sep 26, 2014 | ||
Page 62 first "tip" box |
Looking at the "tip" starting "While it's possible..." Note from the Author or Editor: |
David Lorenzetti | Feb 17, 2014 | Sep 10, 2014 | |
Page 63 3rd para under "Splitting Lists into Heads and Tails" |
Looking at "The two variables separated by a vertical bar (|), or cons, for list constructor..." Note from the Author or Editor: |
David Lorenzetti | Feb 17, 2014 | Sep 10, 2014 | |
Page 64,65, perhaps elsewhere bottom of pg 64, top of page 65. |
List.concat was deprecated some months ago apparently (see https://github.com/elixir-lang/elixir/pull/1660) and now seems to have been removed completely in favor of Enum.concat. The code samples calling List.concat will not run at all for me in Elixir 0.11.2. Note from the Author or Editor: |
Nicholas | Dec 11, 2013 | Sep 10, 2014 | |
Printed | Page 68 End of the first paragraph of 'Creating Lists With Heads and Tails' |
"(�| list constructor operator�)))" doesn't seem like it belongs there. Note from the Author or Editor: |
Nicholas | Dec 11, 2013 | Sep 10, 2014 |
Page 74 Beginning of 'Building a List of Lists' paragraph |
"(((�lists�, �lists of �))" is out of place. I'm guessing this is for generating the index? There may be other similar cases elsewhere. Note from the Author or Editor: |
Nicholas | Dec 12, 2013 | Sep 10, 2014 | |
Page 77 line 11 of sample session |
Looking at "iex(11)> Hof.tripler(6, my_function2)" Note from the Author or Editor: |
David Lorenzetti | Feb 17, 2014 | Sep 10, 2014 | |
Page 82 3rd para under "Folding Lists" |
Looking at "This function divides its first argument�to be the value coming from the list�by second, the accumulator passed to it by the function doing folding." Note from the Author or Editor: |
David Lorenzetti | Feb 17, 2014 | Sep 10, 2014 | |
Page 85 1st para under "The Shell is a Process" |
Looking at "You�ve been working within a single process throughout this book so far, the Erlang shell." Note from the Author or Editor: |
David Lorenzetti | Feb 17, 2014 | Sep 10, 2014 | |
Page 86 sample prompt iex(4) |
Looking at "iex(4)> send)pid, :test2)" Note from the Author or Editor: |
David Lorenzetti | Feb 17, 2014 | Sep 10, 2014 | |
Page 99 First mention of "voids" |
Looking at "feed your process some bad data, an atom (zoids) instead of a number..." Note from the Author or Editor: |
David Lorenzetti | Feb 19, 2014 | Sep 10, 2014 | |
Page 102 Last para before Example 8-9. |
Looking at "When an Elixir process fails, it sends an explanation to other processes that are linked to it in the form of a tuple." Note from the Author or Editor: |
David Lorenzetti | Feb 20, 2014 | Sep 10, 2014 | |
Page 103 Last full para |
Looking at "That version, shown in Example 8-10, which you can find at ch08/ex10-resilient, is much tougher." Note from the Author or Editor: |
David Lorenzetti | Feb 20, 2014 | Sep 10, 2014 | |
Page 114 2nd para of "Writing Unit Tests" |
Looking at "Save this is as file drop_bad.ex." Note from the Author or Editor: |
David Lorenzetti | Feb 22, 2014 | Sep 10, 2014 | |
Page 120 second declaration of defrecord |
Note from the Author or Editor: |
Sairam | Jul 20, 2013 | Sep 10, 2014 | |
Page 120 last paragraph |
'delcarations' - should be declarations Note from the Author or Editor: |
Sairam | Jul 20, 2013 | Sep 10, 2014 | |
Page 120 Example 10-1. |
Looking at declaration of record type Planemo. Note from the Author or Editor: |
David Lorenzetti | Feb 23, 2014 | Sep 10, 2014 | |
Page 121 code snippet on page |
declarations of tower4, tower5 not visible completely. Note from the Author or Editor: |
Sairam | Jul 20, 2013 | Sep 10, 2014 | |
Page 122 Start of the 'Setting Up Records' section |
"defrecord Planemo, name: :nil, gravity: 0, diameter: 0, distance_from_sun: 0 Note from the Author or Editor: |
Nicholas | Dec 15, 2013 | Sep 10, 2014 | |
Page 123 Near the bottom |
"For example, to find out how which planemo tower5 is on, you could write:" Note from the Author or Editor: |
Nicholas | Dec 15, 2013 | Sep 10, 2014 | |
Page 131 fall)velocity/2 definition in middle of code snippet |
I think Note from the Author or Editor: |
Robie | Nov 14, 2013 | Sep 10, 2014 | |
Page 132 2nd line |
'the hd/1 function, which Example 5-2 showed for use with user inputs' Note from the Author or Editor: |
Nicholas | Dec 16, 2013 | Sep 10, 2014 | |
Page 136 end of first paragraph |
'/// (If you want to change where Mnesia stores data, you can start Elixir with some extra options: Note from the Author or Editor: |
Nicholas | Dec 16, 2013 | Sep 10, 2014 | |
Page 141 Function handle_call |
Looking at "def handle_call(_request, _from, state) do" Note from the Author or Editor: |
David Lorenzetti | Feb 26, 2014 | Sep 10, 2014 | |
Page 143 The "NOTE:" about 2/3 of the way down the page |
Is there any particular reason this note is rendered with the all-caps "NOTE:", rather than using the bird "note" symbol like all the others? Note from the Author or Editor: |
David Lorenzetti | Feb 27, 2014 | Sep 10, 2014 | |
ePub | Page 145 3rd paragraph |
spelling: remmeber -> remember Note from the Author or Editor: |
Jim Tittsler | Jul 04, 2014 | Sep 10, 2014 |
Page 149 First note |
There seems to be a word missing after "Process Manager or" below Note from the Author or Editor: |
Robie | Nov 14, 2013 | Sep 10, 2014 | |
Page 156 2nd para under "Creating New Logic" |
Looking at "As in the previous example, the condition and options must remain +unquote+d, as they are already in internal form." Note from the Author or Editor: |
David Lorenzetti | Mar 02, 2014 | Sep 10, 2014 | |
Page 165 first table under "Operators" |
Table caption says ".Logical (Boolean) Operators" Note from the Author or Editor: |
David Lorenzetti | Feb 16, 2014 | Sep 10, 2014 |