In Functional Programming in Scala, Second Edition you will learn how to:
Foreword by Daniel Spiewak.
Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.
About the Technology
Functional code is easy to test, reuse, and parallelize, and it's practically immune to whole categories of state-related bugs. With its strong functional features, familiar syntax, and seamless interoperability with Java, there's no better place to start learning functional programming than the flexible Scala language.
About the Book
In Functional Programming with Scala, Second Edition you'll learn functional programming from first principles. Hands-on exercises and examples make it easy to start thinking and coding functionally. This revised edition contains extensive exercise annotations to help you explore FP in depth, along with steps to build your own functional libraries in Scala. Once the functional lightbulb goes on, you'll never look at coding the same way again.
What's Inside
For Java or Scala programmers. No knowledge of functional programming required.
About the Author
Michael Pilquist is the lead maintainer of FS2, a functional streaming library, and contributes to the Typelevel ecosystem. Paul Chiusano and RĂșnar Bjarnason are recognized experts in functional programming and authors of the first edition of Functional Programming with Scala.
Table of Contents:
PART 1 - INTRODUCTION TO FUNCTIONAL PROGRAMMING
1 What is functional programming?
2 Getting started with functional programming in Scala
3 Functional data structures
4 Handling errors without exceptions
5 Strictness and laziness
6 Purely functional state
PART 2 - FUNCTIONAL DESIGN AND COMBINATOR LIBRARIES
7 Purely functional parallelism
8 Property-based testing
9 Parser combinators
PART 3 - COMMON STRUCTURES IN FUNCTIONAL DESIGN
10 Monoids
11 Monads
12 Applicative and traversable functors
PART 4 - EFFECTS AND I/O
13 External effects and I/O
14 Local effects and mutable state
15 Stream processing and incremental I/O