# Errata for Becoming Functional

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 Cover
Front cover

The cover is many times larger than all the other pages. This makes it a pain to read, because every PDF reader shows the rest of the pages at a microscopic size, requiring manual scaling.

Note from the Author or Editor:
Thank you for spotting this! We have updated the cover of the Early Release PDF to the proper size and reloaded it for distribution.

Ross Smith  May 06, 2014  May 08, 2014
PDF
Page 1
Box

Functional Programming has it’s roots all the way ... should be Functional Programming has its roots all

Luis Tavera  May 19, 2014  Jun 30, 2014
PDF
Page 2
Final paragraph of page numbered as "2 | Chapter 1: Introduction"

At the end of page number 2 (as shown in the footpage, that correspond to the 15th page of 92 in the PDF file i have): Pattern matching Pattern matching is something that really doesn’t appear in Mathematics, but assists Functional Programming in decreasing the need for ****spcific***** variables. In code we usually encapsulate a group of variable together inside of an Object pattern matching allows us ==> specific

Oscar Fernandez Sierra  May 05, 2014  Jun 30, 2014
PDF
Page 2
last 2 lines

In code we usually encapsulate a group of variable together inside of an Object pattern matching allows us... should be In code we usually encapsulate a group of variables together inside of an Object. Pattern matching allows us...

Luis Tavera  May 19, 2014  Jun 30, 2014
PDF
Page 3
second paragraph in conclusion

The code itself has no “diver code.” should be: The code itself has no “driver code.”

Timothy Schepens  May 05, 2014  Jun 30, 2014
PDF
Page 3
3rd paragraph in Conclusion

there should be a comma insted of a period before "nor" ... understand the concepts. nor is it going ...

Luis Tavera  May 19, 2014  Jun 30, 2014
PDF
Page 5
2nd paragraph

Last sentence of the paragraph reads: "This is one of the most useful features in Functional Programming and is also one of the most difficult learn to use effectively." Should likely read something like: "This is one of the most useful features in Functional Programming and is also one of the most difficult to learn to use effectively."

David Johnson  May 05, 2014  Jun 30, 2014
PDF
Page 5
End of 2nd paragraph

most difficult learn to use is missing a "to" most difficult to learn to use

Note from the Author or Editor:
most difficult to learn to use

Luis Tavera  May 19, 2014  Jun 30, 2014
PDF
Page 10
2nd paragraph

we are going to use Interfaces in order create functionality is missing a "to" we are going to use Interfaces in order to create functionality or we are going to use Interfaces to create functionality

Note from the Author or Editor:
we are going to use Interfaces to create functionality

Luis Tavera  May 19, 2014  Jun 30, 2014
PDF
Page 12
Example 2-8

In Example 2-8 and Example 2-9 The Interfaces are declared as public in the code. However the Example 2-7 Interface is declared as private. Should they all be the same or is there an unexplained difference I'm missing?

Note from the Author or Editor:
The example in 2-7 should be "public interface" instead of "private interface"

tony.dunsworth@gmail.com  May 28, 2014  Jun 30, 2014
PDF
Page 16
Math Warning sidebar

Initially "x" is used for the numerical value & "c" for the function, however once "x" & "c" are defined/substituted "x" is re-used in the anonymous function substitution for "c". I have some exposure to functional programming & substitution, but I found this difficult to follow & had to read through it several times. For readers new to substitution, it may be unclear.

Note from the Author or Editor:
Change the math warnings section in Chapter 2 "Anonymous Functions" to read, please ask if there are any questions with this! .Math Warning [CAUTION] ==== Let's bring back our function from the beginning of this chapter. [latexmath] ++++ $$f(x,c) = x^2/c(x)$$ ++++ Lambda calculus gives us the ability to create a function without a formal definition of it. Our function +f+ is a formal definition, but what if we wanted to pass a function in as the parameter +c+ but it's something really simple like a square of the input? Let's see that and substitute our variables. [latexmath] ++++ $$f(10, y \to y^2) = 10^2/(y \to y^2)(10)$$ ++++ The lambda expression is a function which takes an +x+ parameter and performs the +x^2^+ operation. So when we substitute we can actually replace the entire +c(x)+ definition with the lambda function itself. Let's simplify the function call a little bit, since we can now evaluate our lambda function. [latexmath] ++++ $$f(10, y \to y^2) = 10^2/10^2$$ ++++ ====

Brian T. Grant  May 14, 2014  Jun 30, 2014
PDF
Page 26,27
paragraph spanning pg 26, 27

Now inside of our function there is There is a for loop which iterates over the customer list should be: Now inside of our function there is a for loop which iterates over the customer list

Note from the Author or Editor:
There was an extra space between "a for" in the e-mail digest but it appears to only have one space here so I think it's ok.

Timothy Schepens  May 05, 2014  Jun 30, 2014