People treat function composition with a great deal of respect in the functional programming community. But if you look at what function composition is, you might be left confused. After all, it’s not a complex idea. We take two functions and smush them together. What’s the big deal?
Even if you’re comfortable with composition, you’ll find people use many variations. In different libraries, you’ll find compose(), flow() and pipe() (sometimes with different names). What’s the difference? And what are they useful for?
James Sinclair
James (@jrsinclair) is a Senior Developer with Atlassian. He works with JavaScript (in various flavours) on both the front and back-end. He's passionate about functional programming, and good software-engineering practice in general. Over the years he's worked on web projects for Ford Motor Company, Bendigo Bank, The Australian Broadcasting Corporation, Monash University, and the Prime Minister of Australia. Somewhere along the way he picked up a PhD in Information Architecture but decided building stuff on the web was more fun than being an academic.