For a long time, I wanted to learn about the theoretical background of functional programming. But I always waited to do it. So, when I stumbled over a blog article by Eric Elliott (Composing Software: An Introduction), I decided to buy and read his book - Composing Software by Eric Elliott📚.

I’m torn apart regarding this book. It has useful chapters introducing you to new concepts. And then there are chapters which feel like they were just added to “fill-up” the book. I’m missing a coherent story in the book. The excellent chapters build on each other, but each time you get a filler chapter, it takes you out of the reading flow. You certainly feel that the book is a collection of blog posts, and for the asked price, I would expect some more work done in integrating it into a whole.

If I look at the “good” chapters, I liked the book and certainly learned quite a lot. But the whole package was not confining. But on the other side, this was also the first book in a long time where I did sit at the computer to try the examples myself - to fully understand them.

See also Transducers.