Master functional programming. Read it online.
The main repository has moved to the Functional Programming Strategies organization to reflect the change in name. This repository is kept around as an archive of the original Scala with Cats book that gave birth to Functional Programming Strategies.
Copyright Noel Welsh 2012-2026.
Artwork by Jenny Clements.
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Portions of Functional Programming Strategies in Scala with Cats are based on Scala with Cats by Dave Pereira-Gurnell and Noel Welsh, which is licensed under CC BY-SA 4.0.
Functional Programming Strategies teaches the core concepts and techniques for building practical software in a functional programming style.
The build requires Scala, Typst, and a few fonts. There are all installed as part of the CI job that builds the book. This is always kept up to date, so refer to it for dependencies and their installation.
Once you have the dependencies installed, run sbt to open an SBT prompt.
From within sbt you can issue the following commands:
buildbuilds the book, with outuput indist/functional-programming-strategies.pdf
If you spot a typo or mistake, please feel free to fork the repo and submit a Pull Request. Add yourself to acknowledgements.typ to ensure we credit you for your contribution.
If you don't have time to submit a PR or you'd like to suggest a larger change to the content or structure of the book, please raise an issue instead.
