|
|
Re: Diff marked pdf for non final version(s)
|
Posted: Feb 22, 2008 8:47 AM
|
|
> Is it possible for the new version of the book to have > some marks (like a left bar) marking new or modified text? > It is not that I would not enjoy rereading all again ;), > but I'd like to concentrate on new info ...
We don't have a good way to do that, but here's some info I posted to the Scala mailing list that should help:
First of all, we tried to fix all typographical and coding errors that were reported via the Suggest link. So there are minor changes in all chapters. I also attempted to improve things people said were confusing, etc., that were reported, but only got that done in about the first 10 chapters.
The primary added and altered things are:
1. We added an introduction (page xx) 2. We use function value and function literal instead of closure and anonymous function. For the concept of function objects different from methods and local functions, we use "first-class function." 3. We changed the text so that we only use closure to mean a function value that captures free variables. 4. Added a section on how Scala variables and objects map to Java's on page 93, including a discussion of the terminology we use when speaking at the Scala level of abstraction. 5. Added a few paragraphs about designing abstractions on page 103. 5. Explained more about shadowing and why you can redefine variables in the interpreter on page 106. 6. Added a bit about semicolon inference on page 108. 7. Did a rewrite to some extent of chapter 7, Built-in Control Structures. 8. Also did a lot of work on chapter 8, Functions and Closures. It includes a new section on partially applied functions on page 177. Closures are introduced on 181. We added a section on repeated parameters on 184. 9. We split off portions of the old chapter 8 and made a chapter 9, Control Abstraction. One new thing in there is section 9.3, currying. 10. Chapter 15, Collections, has been fleshed out quite a bit. 11. Chapter 24, Extractors, is new. 12. Chapter 25, Objects as Modules, is new. 13. Chapter 26, Annotations, is new. 14. Chapter 27, Combining Java and Scala, has been updated quite a bit. 15. Chapter 28, Combinator Parsing, is new. 16. Added a lot of words to the glossary. Please check those out as well, and submit comments about them to help us make them better.
Oh, and check out the acknowledgements. They are updated too. I can't promise we'll put all these names in the printed book, because it will depend on how close our page count is a multiple of 8. But I wanted to show my appreciation for everyone who submitted comments through the Submit link. So everyone's name should be in there, in the order determined by this script (the # next to the name is the number of comments submitted):
val input = """ 1 --- Kegan Gan 1 --- Ryan Boyer ... a whole bunch of other lines ... 92 --- Javier Diaz Soto 105 --- Tony Sloane 114 --- Blair Zajac """
import scala.collection.immutable.TreeSet import scala.collection.immutable.TreeMap
var map = TreeMap[Int, TreeSet[String]]()
for (line <- input.split("\n")) { val pairStrings = line.split("---") if (pairStrings.length == 2) { val num = pairStrings(0).trim.toInt val name = pairStrings(1).trim if (map.contains(num)) { val newSet = map(num) + name map += (num -> newSet) } else { val newSet = TreeSet.empty[String] + name map += (num -> newSet) } } }
for { num <- map.keys.toList.reverse name <- map(num).elements } println(name + ", ")
Thanks.
Bill
|
|