There are lots of Smalltalk books here, including the original ones from Xerox PARC.
http://stephane.ducasse.free.fr/FreeBooks.html
The best free implementations to play around are Squeak and Pharo.
http://squeak.org/
http://squeak.org/
Or if you want to avoid installing anything, Amber gives some taste of it.
http://amber-lang.net/
Now, regarding the LINQ like stuff, in Smalltalk doing this type of stuff was already possible back in those days.
|a|
vec := #(1 2 3 4 5 6).
sumPairs := (vec select: [:x | (x \\ 2) = 0]) inject: 0 into: [:l :r | l + r].
Yes, that is what I was thinking of. The other part, immutable data and such, isn't that possible to practice in large teams. But I do make use of it in personal projects.