This book aims to present the core techniques for writing functional code, and show the relationships between these techniques and the tradeoffs they make. It updates and greatly expands the scope of Scala with Cats.
An introduction to functional programming and generative art, aimed at people new to programming. Creative Scala is heavily inspired by HtDP, and like HtDP strives to present programming as a systematic process.
An introduction to Scala for experienced developers, Essential Scala revolves around four core techniques in effective Scala programming: algebraic data types, structural recursion, sequencing computations, and type classes.
This book covers core functional programming abstractions such as monoids and monads, and shows how they can be used in the small and in the large.