By Developers, For Developers
PDF Pg | Paper Pg | Type | Description | Fixed on | Comments |
---|---|---|---|---|---|
26 | TYPO | When I try the following example: scala> def isPalindrome(str: String) = I have the exception: I guess it should be: | 2009-04-03 | Thanks for the catch! Fixing it right away. | |
30 | TYPO | “On Windows, you’d set the classpath to the location of the Scala library.jar. Last part should be scala-library.jar | 2009-04-04 | Thanks for reporting. Fixing it right now. | |
8 | TYPO | “without begin bogged down” should be “without being bogged down” | 2009-04-07 | ||
8 | TYPO | “Scala let’s you put all that power” should be “Scala lets you put all that power” | 2009-04-07 | ||
9 | TYPO | “if you can’t change it’s content” should be “if you can’t change its content” | 2009-04-07 | ||
9 | TYPO | “The benefits of Scala, however, is not limited” should be “The benefits of Scala, however, are not limited” | 2009-04-07 | ||
10 | TYPO | “Furthermore, it’s syntax is” should be “Furthermore, its syntax is” | 2009-04-07 | ||
10 | TYPO | “not one of the easiest syntax to work with” should be “not one of the easiest syntaxes to work with”, or — better — “not the easiest syntax to work with” | 2009-04-07 | ||
12 | TYPO | “You loop though each of the symbol” should be “You | 2009-04-07 | ||
13 | TYPO | “the block in the context of next element.” should be “the block in the context of the next element.” But really, you’ve completely lost me in this paragraph. What does foldLeft do? I have no idea how one call to the block is somehow getting passed to another call to the block. Is there recursion going on here? If so, I don’t see where it happens. Am I really supposed to be able to “understand how this is working”? | 2009-04-07 | Thanks for reporting the errors Peter. I will see what I can do to address the above issue. | |
14 | TYPO | “Since you only hand immutable state” should be “Since you only handle immutable state”? | 2009-04-07 | ||
15 | TYPO | “the style you’re most comfortable within the scope” should be “the style you’re most comfortable with within the scope” | 2009-04-07 | ||
37 | ERROR | The words “do for” in the triple-quoted string literals are colour-coded, both in the first and second example on the page. | 2009-04-14 | The color coding of keywords takes effect in the entire code. I don't have control over this coloring. | |
58 | ERROR | The PDF document shows chapter “4.6 static in Scala” as “4-1static in Scala” in the PDF bookmarks (in Preview.app, this can be seen when the sidebar is visible). The expected bookmark name is “static in Scala”. This happens everywhere where a keyword is the first word in the chapter title, e.g. “The 4-1Any type”, “More about 4-1Nothing”, “4-1Option Type”. | 2009-04-14 | ||
18 | TYPO | “The output they product” should be “The output they produce” | 2009-04-14 | ||
32 | TYPO | “The left of the arrow (<—)” should read “The left of the arrow (<-)”. | 2009-04-14 | ||
39 | TYPO | References to scala.collections packages should be scala.collection. E.g. scala.collections.immutable actually is scala.collection.immutable. | 2009-04-14 | ||
27 | ERROR | For Windows XP, I had to use this: scala -e “println(\\”Hello \\" + args(0) + \\“, \\” + args(1))" Buddy “Welcome to Scala” Otherwise I get the error “+ was unexpected at this time.” | 2009-04-14 | ||
119 | TYPO | ‘complicate patterns’ should be ‘complicated patterns’ in the paragraph before section 9.6 | 2009-04-14 | ||
22 | TYPO | Sec. 1.6 Last sentence should end: ‘are entirely mine’ vs ‘is entirely mine’ | 2009-05-19 | ||
34 | TYPO | 3rd paragraph, ‘you can’t inadvertently changing the value’ should be ‘you can’t inadvertently change the value’ | 2009-05-19 | ||
34 | SUGGEST | You have the => symbol in the example but don’t provide any details (I know it’s later in the book). Just a little bit of explanation or at least mentioning it would be valuable. | 2009-05-19 | ||
76 | TYPO | 3rd paragraph: ‘and the context element’ ‘element’ should have font to match code example as carryOver does. | 2009-05-19 | ||
80 | TYPO | 3rd paragraph: ‘you can defined full functions’ should be ‘you can define full functions’ | 2009-05-19 | ||
132 | TYPO | Scala’s concurrency model depends on we honoring immutability. Scala | 2009-05-19 | ||
158 | TYPO | We can use scala tool to run both Scala compiled code and code compiled using javac. | 2009-05-19 | ||
134 | TYPO | Jashua Bloch -> Joshua Bloch | 2009-05-19 | ||
132 | SUGGEST | Add reference or footnote for command query-separation. | 2009-05-19 | ||
30 | SUGGEST | The MIME type of the source code like the one for Script.scala (and the other scripts) should be text/plain instead of text/html. It is not correctly rendered by the browser. Just an idea. | 2009-05-20 | ||
68 | TYPO | “Unfortunately, the way we’re used to is not a idiomatic way to define methods in Scala.” It should be “an idiomatic way”. Notice the “an” vs. “a”. | |||
132 | SUGGEST | Change the following sentence: Scala’s concurrency model depends on we honoring immutability. Scala to: Scala’s concurrency model depends on us to honor immutability. Scala | 2009-06-16 | ||
132 | TYPO | Jashua Bloch => Joshua Bloch | 2009-06-16 | ||
81 | TYPO | However, in Scala, we can defined full functions within other functions. => we can define | 2009-06-16 | ||
88 | TYPO | “instance given tous” -> “instance given to us” | |||
90 | TYPO | “in the code previous” -> “in the previous code” | |||
94 | SUGGEST | When testing the code examples I noticed that you have to be extra careful to leave an empty line after “def helpAsFriend(friend: Friend) = friend listen”, otherwise you have to use the format “friend.listen” or get error “wrong number of arguments for method listen: ()Unit”. | |||
98 | TYPO | “val emplomentApplication” -> “val employmentApplication” | |||
71 | TYPO | your where you is appropriate. | |||
38 | ERROR | The text in chapter: Getting up to speed in Scala (excerpt), page #38, specifies, “So, calling 1 to 3 is equivalent to 1.to(3), but the former is more elegant”. Expression 1.to(3) should be expressed as (1).to(3), as Scala’s lexer uses longest match rule for tokens and in expression 1.to(3), 1. will be considered as 1.0, a Double rather than an Int. | |||
84 | TYPO | The author forgot to include the “var” in front of the repeated “max” example statements. These lines will not execute as written but will after the var is added. JMH def max2(a: Int, b: Int) : Int = if (a > b) a else b | |||
49 | SUGGEST | It is not evident (at least not to me) that the Protected.scala examples cannot be run from the interpreter. Since this is the first time in the book this appears, it might get exaplined later, but at this page you have no idea why running with scala fails and only scalac shows the error you mention. | |||
197 | ERROR | The Code example UsingScala/StockPriceFinder uses java.util.Date().getYear. This method on Date is deprecated and does not return the date in the expected format e.g. 2009 but as year-1900 i.e. 109. This means that year call to the Yahoo webservice returns as much data as is available. E.g. for AAPL it returns around 15 years of data. Suggestion would be to use Calendar instead. | |||
111 | TYPO | ‘plus the literal “done.”’ -> ‘plus the literal “done”.’ | |||
118 | TYPO | “SYMBOL:PRICE.” -> “SYMBOL:PRICE”. | |||
119 | TYPO | “SYMBOL:PRICE.” -> “SYMBOL:PRICE”. | |||
123 | TYPO | “GOOG,” -> “GOOG”, | |||
65 | ERROR | Footnote 4. reads: “Equivalent Java code will compile with no errors but result in a runtime ClassCastException.” I think it is not true. Java equivalent will compile and run with no errors. E.g. following code runs without any problems. | |||
111 | TYPO | The Scala alternate method for foldRight is actually :\\ and not \\: as written. | |||
135 | TYPO | 10.5: … about explicitly staring an actor… | |||
139 | ERROR | You write, that if the TIMEOUT object is not pattern matched, an exception is thrown. I have tested this with Scala 2.8.0 and there no exception is thrown. The TIMEOUT object is simply stored in the mailbox, and if it is not pattern matched, then it remains in the mailbox and receiveWithin does not terminate after the specified period. | |||
164 | TYPO | Text references java.util.AraryList instead of java.util.ArrayList | |||
170 | ERROR | In the ExpectExample code snippet, the code comment states that “The above exception is wrong”, it seems that this should say “The above expectation is wrong”. | |||
97 | TYPO | The employment application example creates a value with a name of “emplomentApplication”. There is a missing Y in this name. | |||
141 | TYPO | explicitly staring an actor" should be "explicitly starting an actor | |||
61 | ERROR | The code sample (SensibleTyping/Methods.scala) does not work as either a stand-alone script or when the code is transplanted to a class. In either scenario it throws a NoSuchMethodException. | |||
52 | ERROR | Marker.scala does not compile on Scala 2.9.
| |||
40 | TYPO | The words “do for” in the code snippet is overstriked. Is that a typo? | |||
64 | SUGGEST | It seems that in Generics.scala more is shown than is intended. I suspect that var list1 : List[Int] = new ArrayList[Int] was really meant to read var list1 : ArrayList[Int] = new ArrayList[Int] As written in the text, more than simple type inference is occurring in var list1 : List[Int] = new ArrayList[Int] — there is also casting. Consequently, list2 = list1 will produce an error: error: type mismatch; | |||
69 | TYPO | The code for Methods.scala does not work as expected and produces runtime errors, at least with scala 2.9.1 and IcedTea7 2.0 on Ubuntu. Specifically, every invocation of printMethodInfo gives something like this: printMethodInfo(“method3”) I have not tried this with any release of Sun/Oracle Java. And I have not tried this with IcedTea 6. | |||
132 | ERROR | mailboxSize is never not 0. As I’m still learning Scala, I’m not quite able to figure out why from the source though given this book is now 4+ years old, things may have changes here. | |||
141 | ERROR | “You can restart the actor, if you like, by calling the start( ) method.” - This is not possible. | |||
16 | ERROR | the receiveWithin call inside getTopStock returns a RuntimeException. See: issues.scala-lang.org/browse/SI-5460 Using: Scala version 2.10.2 (Java HotSpot™ 64-Bit Server VM, Java 1.7.0_40) |