Functional Programming for Java Developers

Errata for Functional Programming for Java Developers

Submit your own errata for this product.


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
PDF
Page xi
2nd to last paragraph

Conal Elliott's name is misspelled.

Dean Wampler
Dean Wampler
O'Reilly Author 
Jul 31, 2011 
Printed
Page ix
2nd paragraph from below

code page doesnt exist

Note from the Author or Editor:
I'll investigate.

Anonymous  Jul 31, 2011 
Printed
Page ix
Getting the Code Examples

The URL for the examples as printed uses the tech book ISBN instead of the IP ISBN. The code example URL should be http://examples.oreilly.com/0636920021667/. (The URL as printed should redirect to the correct URL, btw)

Shawn Wallace  Aug 05, 2011 
Printed, PDF, ePub
Page 8
3rd paragraph

The statement "You might recall the famous Pythagorean equation from school, which relates the lengths of the sides of a triangle: x^2 + y^2 = z^2" is a little bit vague. I miss the word "right": The mathematical formula is only valid for *right* triangles. http://en.wikipedia.org/wiki/Pythagorean_theorem

Note from the Author or Editor:
Yes, the word "right" should be in the statement.

Karl Philipp  Aug 06, 2012 
PDF
Page 10
3rd paragraph

This may not be an error but maybe it needs clarification. On page 10, it says: "A function is more general. It is not attached to any particular class or object. Therefore, all instance methods are functions where one of the arguments is the object." It's the last sentence that I don't get. If I understand things correctly, an instance method is a method defined in a class which is only accessible through an object instance of the class. So how is that a function? How is the argument to such a method the object? If I have this: Cat fluffy = new Cat("Fluffy"); fluffy.meow(); I guess what you are saying is "meow" (an instance method) is a function with the argument being "fluffy" (the object). On that same page you are saying you are going to "clarify the difference between a method and a function." And I don't see how the statement from the book clarifies that. This might be a case of my understanding is not at the correct level where I can grok the distinction you are making.

Note from the Author or Editor:
I'll clarify the statement when in the next edition.

Jeff Nyman  Aug 03, 2013 
Printed, PDF, ePub
Page 27
2nd paragraph

Text reads "Calling new is a form a strong coupling..."; it should read "Calling new is a form of strong coupling...".

Note from the Author or Editor:
Yes, the word "a" should be "of".

Anonymous  Nov 07, 2011 
Safari Books Online
32
7th paragraph

"Since addition is associative, the answer is the same in both cases." - The answer is the same because addition is commutative, that is because x + y = y + x.

Note from the Author or Editor:
It's actually because addition is both associative and commutative. Some associative, but non-commutative operations would also give the same answer for foldl and foldr. An example is string concatenation, as long as no additional strings, like delimiters, are added.Conversely, commutative, but non-associative operations don't yield the same results for fold and foldr. (http://list.cs.brown.edu/pipermail/cs273/2009q4/000007.html provides a thorough explanation.) To clarify the wording, I would change "associative" to "associative and commutative" and add a footnote that the general case is more complex.

None  Jul 29, 2011 
Safari Books Online
34
Last paragraph

The text reads "multiple each of those by 2" where it should read "multiply each of those by 2" (incorrect letter at the end of the first word).

Note from the Author or Editor:
Yes, it should say "multiply"

Olivier Dagenais  Jul 27, 2011 
Safari Books Online
37
Figure 3.2

The left branch of "Value 2" should point to "a3", as the text describes, not "a1" as illustrated, since that's the same thing as "Value 1".

Note from the Author or Editor:
Dang. My original figure was redrawn and this error was introduced. Yes, it should point to a3. Thanks for pointing out the error.

Olivier Dagenais  Jul 27, 2011 
Safari Books Online
46
Figure 4.2

The left branch of "Value 2" should point to "a3", as the text describes, not "a1" as illustrated, since that's the same thing as "Value 1".

Note from the Author or Editor:
Dang. My original figure was redrawn and this error was introduced. Yes, it should point to a3. Thanks for pointing out the error.

Olivier Dagenais  Jul 27, 2011 
Safari Books Online
68
1st paragraph

<<Eager evaluation is sometimes called “call by name.” >> should be change to <<Eager evaluation is sometimes called “call by value.”>>

Note from the Author or Editor:
Correct.

None  Jul 29, 2011 
Safari Books Online
71
String reduction

Strict reduction /definition/ "A concept similar to lazy evaluation" should be changed to "A concept similar to eager evaluation,"

Note from the Author or Editor:
Damn mistake to make. Yes, it should say "A concept similar to eager evaluation".

None  Jul 29, 2011