Member-only story
Functional Programming Toolkit — You Don’t Need to Fear
Functors, Monads, Monoid and More: Why Functional Programming Isn’t So Scary
Following the article Function Programming — and OOP, I thought the FP toolkit could be useful to grasp.
The functional programming community has a number of patterns with strange names such as monads, monoids, functors, and catamorphisms — Scott Wlaschin
Years ago, people talked to me about functors, monads and monoids. Those words were mysterious to me, especially when I was participating in a training session given by Scott Wlaschin. Before we get to understand those terms, let’s walk through the core concepts of functional programming (FP).
The Core Concepts of Functional Programming (FP)
There are 3 major concepts :
- Immutability
- Separation of Data and Functions
- First-Class Functions
- High-Order Functions
Another tenet of FP philosophy is not to modify data outside the function. In practice, this means to avoid modifying the input arguments to a function. Instead…