Errata

Programming F# 3.0

Errata for Programming F# 3.0

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
Printed
Page 155
1st paragraph after the example code

"The default accessibility for class fields (val and let bindings) is private."

This is incorrect. val defaults to public.

From http://msdn.microsoft.com/en-us/library/dd469494.aspx :
"By default, explicit fields are public. This differs from let bindings in classes, which are always private."

Note from the Author or Editor:
Thank you for the report. This will be fixed in a future edition.

William Sorensen  May 29, 2013 
PDF
Page 26
4th paragraph

"decimal" is split across two lines, but doesn't have a hypen to indicate line continuation

Ed Cavazos  Feb 24, 2013 
PDF
Page 13
1st paragraph

"the rest of this book will focuses"

perhaps that should be

"the rest of this book will focus"

or

"the rest of this book focuses"

Ed Cavazos  Feb 23, 2013 
Printed
Page 3
first example

printfn "Hello, World",
shouldn't have a comma at the end

Note from the Author or Editor:
Thank you for pointing that out, it will be fixed in subsequent printings.

Anonymous  Oct 25, 2012 
PDF
Page 383
Example 15-3

let getCustomerByID id =
query {
for customer in db.Customers do
where customer.CustomerID = id
select c
head
}

should be

let getCustomerByID id =
query {
for customer in db.Customers do
where (customer.CustomerID = id) // fix error: Arguments to query operators may require parentheses, e.g. 'where (x > y)' or 'groupBy (x.Length / 10)'
select customer // fix error: The value or constructor 'c' is not defined
head
}

Note from the Author or Editor:
Thank you for pointing this out, it will be fixed in a subsequent printing.

Yukitoshi Suzuki  Oct 17, 2012 
PDF
Page 380
example code

let probabilityOfPercipitation =
parsedXmlDoc
.data.[0]
.parameters.[0]
.probabilityofprecipitation.[0]
.value.[0].Value;;

These 3rd and below lines should be indented.
Otherwise, I got the following error:
error FS0010: Unexpected symbol '.' in binding.

In addition, I failed to get probabilityOfPercipitation (I think this name is a typo: probabilityOfPrecipitation is correct) when I created SampleXmlDocWrapperLibrary.dll from a sample listed in P378-379.
This might be because '/dwml/data/parameters/probability-of-precipitation' element contains only one 'value' element in the sample so the type of probabilityofprecipitation's value property is not an array but string.
To fix the error, I simply added another 'value' element under 'probability-of-precipitation' and re-created the wrapper dll.

Note from the Author or Editor:
Thank you for pointing this out, I'll make sure it gets fixed in a subsequent printing of the book.

Yukitoshi Suzuki  Oct 15, 2012 
PDF
Page 17
bottom of page

"Whenever you add a new code, file it is added"

unnecessary comma in the sentence

Note from the Author or Editor:
Thank you for the note, it will be fixed in a subsequent printing.

Wout Konradt  Apr 16, 2012 
PDF
Page 17
middle of page

Misplaced a space in the following sentence between "main's" and "method's"

"You can check the main ?smethod's implementation by calling it from FSI"

Note from the Author or Editor:
Thank you for the note, it will be fixed in a subsequent printing.

Wout Konradt  Apr 16, 2012