After reading this and other articles on concatenative programming, one thing keeps puzzling me: Do we have examples for something that is trivial in concatenative programming but fundamentally nontrivial in applicative programming? Sure, being able to `define countWhere [filter length]` is pretty nice, but actually, `countWhere predicate list = length (filter predicate list)` is not that worse for me. I also understand that concatenative programming techniques can clarify program structure, make for easy compiler optimizations, but the question is only concerned of expressing.
The question can also be stated as: is concatenative programming a fundamentally more powerful system than applicative programming, or is it an alternative, more natural notation for writing point-free functions?
This question is not meant to devalue concatenative programming; I'm attempting to find out how much value it is really worth.