Errata

Learning Functional Programming

Errata for Learning Functional Programming

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.

The following errata were submitted by our customers and have not yet been approved or disproved by the author or editor. They solely represent the opinion of the customer.

Color Key: Serious technical mistake Minor technical mistake Language or formatting error Typo Question Note Update

Version Location Description Submitted by Date submitted
Printed Page Page 9
Top of page, under word 'Scala'

The line

def myIf(condition: Boolean, thenCondition: Unit, elseCondtion: Unit): Unit {

should read

def myIf(condition: Boolean, thenCondition: => Unit, elseCondtion: => Unit): Unit {

Jack Widman (author)  Oct 13, 2022 
Printed Page Page 42
Paragraph 3

Should the sentence say: "Let us suppose we have two morphisms _f_ and _g_ where _f_: E(1) -> E(2) and _g_: E(2) -> E(3)." ?

Andrew Harmel-Law  Oct 30, 2022 
PDF Page 6/7
last lines / first lines

println(impureFunction(5))
println(impureFunctin(8))

Is it intentional that the two function calls have differnt arguments, while in the text below it says they "will very likely return different output values for the same input value."?

Anonymous  Sep 09, 2023 
Printed Page 9
first code example

The two versions of "def myIf" written in Scala on pages 8 and 9 are exactly the same, but the text leads us to believe that the version on page 8 won't work and the one on page 9 will! But they are exactly the same!

Mark Meyer  Oct 12, 2022 
Printed Page 17
Diagram

I think the curly brace denoting the range of elements in the codomain should be smaller; encompassing the 2 and 3, but not the 1 and 4.

Andrew Harmel-Law  Oct 23, 2022 
Printed Page 18
Paragraph 2

There is a typo in the last sentence of the paragraph. "The natural numberes..."

Andrew Harmel-Law  Oct 23, 2022 
Mobi Page 20
2nd code example

The second code example is the same as the first, but should be (assuming the Early Release version was correct):

def myIf(condition: Boolean, thenAction: => Unit, elseAction: => Unit): Unit = {
if (condition)
thenAction
else elseAction
}

Craig Patchett  Jun 25, 2023 
Printed Page 36
bottom line

You have F(f o g) = F(f) o F(g) $
what does the dollar sign mean?
I think it is a mistake.

Mark Meyer  Oct 29, 2022 
Printed Page 54
1st code example (Java with Vavr)

The line with the "if" statement is missing.

Andreas Zoufal  Oct 15, 2022 
Printed Page 54
2nd code example (Python)

successfull -> successful?

Andreas Zoufal  Oct 15, 2022 
Printed Page 55
Last paragraph ("This function tries to get a User object...")

This paragraph is confusing, the reference code has two functions and uses a Student class with an email field?

Andreas Zoufal  Oct 15, 2022 
Printed Page 57
1st paragraph

"...that we have a of ids..." -> "...that we have a List of ids..."?

Andreas Zoufal  Oct 15, 2022 
Printed Page 63
2nd code example

is the copy of the previous code examples, including the .collect() part intentional?

Andreas Zoufal  Oct 15, 2022