It seems like what Casey calls compression oriented programming is a non-TDD version of "
Simple Design".
Basically a "simple design" satisfies these rules:
- Passes its tests
- Minimizes duplication
- Maximizes clarity
- Has fewer elements
Casey is not doing unit tests but he does emphasize the importance of writing usage code first, which, along with asserts, gets you a lot of the benefit of TDD (i.e. writing tests first forces you to write usage code first).
The "compression" part seems like it is the "Simple Design Dynamo":
It is hard to argue with the goals for simple design so I suppose it is not surprising that Casey's approach seems like a different way of thinking about how to achieve it.