Functional Programming in Scala (2015)

Functional Programming in Scala (2015)



Part 1. Introduction to functional programming

Chapter 1. What is functional programming?

Chapter 2. Getting started with functional programming in Scala

Chapter 3. Functional data structures

Chapter 4. Handling errors without exceptions

Chapter 5. Strictness and laziness

Chapter 6. Purely functional state

Part 2. Functional design and combinator libraries

Chapter 7. Purely functional parallelism

Chapter 8. Property-based testing

Chapter 9. Parser combinators

Part 3. Common structures in functional design

Chapter 10. Monoids

Chapter 11. Monads

Chapter 12. Applicative and traversable functors

Part 4. Effects and I/O

Chapter 13. External effects and I/O

Chapter 14. Local effects and mutable state

Chapter 15. Stream processing and incremental I/O