Scala Puzzlers is a collection of enigmatic Scala code examples that behave highly contrary to expectations and will entertain and enlighten even the most accomplished Scala developer. Challenge your Scala intuition, then treat yourself to a revealing explanation of the reasons underlying the code's actual behavior that will provide important and often fundamental insights into Scala. Get ready for a fun journey that will take you further down the road to Scala mastery!
So editing my review because friends on twitter seemed to have taken the wrong view, in that I had a negative view of the book. The book itself is *excellent*: the authors put a fair amount of thought into finding digestible snippets of Scala that exhibit common pitfalls and problems that may not be readily apparent at first blush.
However, I feel horrified after reading this book, because some of the edge cases described therein would be tricky for someone who is totally new to Scala or FP. There are *two* typographical errors, but nothing egregious (and yes I communicated a bit with the authors). Worth it if you're looking for deeper knowledge of Scala, or you're looking to find pitfalls useful for an evil coding contest. Personally, I actually found this book more easily digestible than intro books on Scala, because the authors paid so much focus on self-contained examples. Honestly, I would hunt down other books written by the same if it meant I could get examples as focused and as well written as these.
I find this is a good book for intermediate Scala programmers and it improves my Scala knowledge. It is suitable for beginners but they might not able to appreciate the intricacies or understand the implications mentioned in each puzzle. With more Scala experience the reader will find lots of "aha" moments and fun too. When I started with Scala I found lots of peculiar errors during compilation or run-time and they were not easily understood. Googling helped to an extent, some were not found and shelved until I come back for them for second round. Hopefully, by then, someone would explain them in a blog or book (well, this is the book).
This book is worth reading because it pointed out the pitfalls in Scala, explained them with examples in simple terms. In some instances it offered solutions. On top of that, this book had them all in its pages.