Hi Erkki and Blair,
Blair asked for PDF with annotations showing the differences between
version 1 and 2 of the PrePrint. I don't think I'll be able to come up
with something like that. About the best I can do is give a list of
things I'm aware of that changed.
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
On Feb 19, 2008, at 5:20 AM, Erkki Lindpere wrote:
> Hi Bill,
>
> Is there an overview of what has changed for those who have already
> read the first version?
>
> Thanks,
>
> Erkki Lindpere
>
> Bill Venners wrote:
>> Hi All,
>>
>> I just released an update to Programming in Scala PDF. We sort of
>> waited to the last minute to get our email notification system
>> together, so tomorrow or soon thereafter people who have purchased
>> the PDF will get an email with a unique URL at which to download
>> the book. In the meantime, if you simply log into your account at
>> Artima, for example by clicking on Sign In in the top left corner
>> of the home page:
>>
>>
http://www.artima.com/index.jsp>>
>> Then click on "Your Settings" in the upper left corner, you can
>> download the latest version by clicking on "Programming in Scala
>> eBook" link, about midway down the page.
>>
>> We've added a few new chapters and worked hard to improve the
>> material. It has over 100 pages more than the previous version. The
>> comments everyone submitted through the feedback system was very
>> helpful, so please keep those comments coming.
>>
>> And if for some reason you haven't gotten your copy yet, you can
>> get one here:
>>
>>
http://www.artima.com/shop/forsale>>
>> Thanks.
>>
>> Bill
>> ----
>> Bill Venners
>> President
>> Artima, Inc.
>>
http://www.artima.com>>
>>
>>