We may earn an affiliate commission when you visit our partners.

Functional Programming in Scala, Second Edition

Michael Pilquist, Paul Chiusano, and Rúnar Bjarnasson

This international bestseller has been revised with new exercises, annotations, and full coverage of Scala 3.

In Functional Programming in Scala, Second Edition you will learn how

Functional Programming in Scala has helped over 30,000 developers discover the power of functional programming. You’ll soon see why reviewers have called it “mindblowing”! The book smooths the complexity curve of functional programming, making it simple to understand the basics and intuitive to progress to more advanced topics. Concrete examples and exercises show you FP in the real world and reveal how it can improve your everyday coding practices. This second edition comes packed with the latest standards of FP, as well as full code updates to Scala 3, and its new language features.

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

About the Reader

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

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

Read on Amazon
Read this for free with Kindle Unlimited

Save this book

Create your own learning path. Save this book to your list so you can find it easily later.
Save

Share

Help others find this book page by sharing it with your friends and followers:
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser