Chapter 11. Patterns in functional programming
In this chapter
- Functors, monads, and applicative functors
- Configuring applications using applicative style
- Composing workflows using monads and for expressions
Functional programming is the practice of composing programs using functions. It’s an area of software design and architecture that has been neglected in mainstream books and classes since the emergence of object-oriented programming. Functional programming offers a lot to the object-oriented developer and can nicely complement standard object-oriented practices.
Functional programming is a relatively large topic to try to compress into a single chapter. Instead, this chapter introduces a few key abstractions used in functional programming and demonstrates their usage in two different situations. The goal is to show one of the many styles of functional programming, rather than turn you into an expert functional programmer.
First, a discussion on some fundamental concepts behind the patterns in functional programming.