TL;DR

  • モナドやファンクタなどの関数型プログラミングのパターンを、プログラム設計を組み立てる方法として紹介し、Cats での実装を解説する本である。
  • 元は旧版『Scala with Cats』を Scala 3 向けに直す計画だったが、足りない話題を加えた結果、ほぼ新しい本になった。

対象読者

Scala の仕組みをひととおり知っていて、もっと効果的に使いたい人に向けた本である。関数型プログラミングと一緒に Scala を学ぶつもりなら、Scala が初めての人も対象に入る。第 1 章では、関数型プログラマのように考える方法、つまり思考の戦略を教える本だと位置づけている。Scala 3.3.4 と Cats 2.10.0 を前提に書かれている。

目次

  1. Functional Programming Strategies
  2. Algebraic Data Types
  3. Objects as Codata
  4. Contextual Abstraction
  5. Reified Interpreters
  6. Using Cats
  7. Monoids and Semigroups
  8. Functors
  9. Monads
  10. Monad Transformers
  11. Semigroupal and Applicative
  12. Foldable and Traverse
  13. Indexed Types
  14. Tagless Final Interpreters
  15. Optimizing Interpreters and Compilers
  16. Creating Usable Code
  17. Case Study: Testing Asynchronous Code
  18. Case Study: Map-Reduce
  19. Case Study: Data Validation
  20. Case Study: CRDTs

関連