Underscore, 2017. — 243 p.
Essential Scala is two books in one: it is an introduction to the Scala programming language, and a manual describing how to program it. This focused introduction is aimed at developers with one to two years' experience in another programming language, and explains the concepts and techniques you need to become a proficient Scala developer.
Topics CoveredExpressions and syntax
Classes, objects, methods, and functions
Design patterns -- traits, case classes, and pattern matching
Functional programming concepts -- functors and monads
Creating custom DSLs using implicits
Modular library design using type classes
Based on the two day Underscore training course of the same name, Essential Scala is unique in its focus on the programming patterns required to build commercial software in a modern functional programming language. No matter what kind of application you're building, this book will help you build it.