Concatenative Composition
Name small operations, chain them, let composites call the names
Concatenative composition is a pattern for building complex processes out of small named steps. Each step does one thing. A larger process is just a sequence of step names — it calls each one in order rather than replicating what those steps do internally.
The word comes from Forth, a programming language from the 1970s where every operation is a “word” and programs are sequences of words chained through a shared stack. But the pattern shows up anywhere you name your operations and compose them by reference rather than by copy.
The key design question is where to draw the lines. When you break something apart, you can end up with pieces that only make sense in that one context — slices of the original rather than genuinely reusable operations. The pattern works when the pieces earn their names: when a step can be called from multiple different processes, not just from the one you were working on when you defined it.
The benefit is that complexity stays flat. A composite process can grow long, but each individual step stays simple. You can understand any piece without understanding all of them.
You’re planning weekly meals. Instead of writing out five separate recipes from scratch, you name small operations — chop, marinate, roast, dress — and build each meal as a short sequence of those names. When you want to change how you roast things, you change it in one place and every meal that uses it updates automatically. The meals are composites. The operations are shared.