Professor Frisby's Mostly Adequate Guide to Functional Programming: A Playful Journey into FP
Most functional programming books read like academic papers. This one reads like a conversation with a funny, smart friend who happens to love FP.
27 Oct 2024

Most functional programming books read like academic papers. This one reads like a conversation with a funny, smart friend who happens to love FP.
Brian Lonsdorf's Mostly Adequate Guide walks you through functional programming using JavaScript. Pure functions. Composition. Currying. Functors. Monads. The heavy concepts are all here, but explained with humor and real code examples instead of math notation.
What works
The progression is excellent. Lonsdorf starts with pure functions -- a function that takes input and returns output without side effects. Simple concept. Then he builds on that foundation layer by layer until you are composing complex transformations from small, reusable pieces.
His explanation of currying clicked for me in a way that other resources never managed. Same with functors and monads. He strips away the intimidating terminology and shows you what these things actually do in practice.
The exercises throughout the book are genuinely useful. They force you to think functionally instead of just reading about it.
Where it falls short
The book is incomplete. It stops abruptly and some later chapters feel rushed. You can tell the project lost momentum.
It also leans heavily into a specific FP style that does not always translate to production JavaScript. In real codebases, pure FP patterns can make code harder to read for team members who are not familiar with them. The book does not address this trade-off.
If you have never written JavaScript before, this is not the place to start. You need a solid grasp of the language first.
Who should read this
JavaScript developers who want to understand functional programming without drowning in Haskell textbooks. It is free, it is fun, and it will genuinely change how you think about composing code.
Just know that you will need other resources to go deeper on the topics where the book trails off.