Functional Design Patterns

In this section, we are moving beyond the basic concepts behind functional programming and looking at some of the functional design patterns that you'll encounter when using functional libraries. You will be introduced to Monoids, Functors, Monads, and other functional programming patterns that you can use to structure your programs – these patterns are the functional programming equivalent of the object-oriented design patterns that you might be familiar with from when you first learned about OOP.

Have you ever heard of category theory? The patterns we'll see in this section come from category theory. Each concept (such as a Monoid) has a clear mathematical definition and set of associated laws.

Note

In this section, ...

Get Professional Scala now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.