Are Scala's implicits giving you nightmares? Well take my word, sweet dreams await upon completion of Josh Suereth's Scala in Depth. For it's step-by-step, all-encompassing guide to Scala implicits alone,this book is well worth your pennies.
If you are coding in Scala, be that for fun or financial gain, this book will cover important gaps in your knowledge leaving you feeling confident of getting to grips with any Scala codebase.
As I mentioned, the chapter on implicits is immensely useful, but there is another that I thought really stood out.
Chapter 8 - choosing the right collection: wow - I really never understood the impliciations of choosing each type of collection. I used to use Sequences (Seq) wherever I could get away with it. Now, however, I have a much deeper understanding of when Vectors are a good choice as well as knowing about the variety of lazy and parallel collections available to me.
Hard Going in Places Too, Though
Chapters 6 and 7 about the type system really put my intelligence to shame. I just couldn't quite follow along with the examples. Maybe the author could have a done a better job, however I suspect the Scala type system, for me, requires a double-dose to be truly understood.
Apart from that pair, the other chapters were easy to follow along with and I don't have too many criticisms. You will learn something useful from all of them.
I benefited a lot from this book. Not only will I be writing better Scala but I'll be confident when tackling other people's code - especially on github.
Some of the examples could be better. Yes, there were probably a few more typos than most books. Also, I felt the author could have cut to the chase a lot earlier by telling me what a feature is good for before explaining how it worked.
Overall, though, if you want to level-up your Scala you could do a lot worse than Scala in Depth.