Interesting, It's sounds like your definition of `TDD` is what is my definition of `solving problem`.
My point was that I don't want to write test for a grammar that I might realize during further design that is wrong, this would be just complete wasted effort... Instead I just test as a way to tryout my DSL... but really to me it does *not* relate to TDD... because I can do the same with just a REPL and the history of it...
I wish that definition you use was the same understood by the industry, but it is not the way it was presented to me when I discussed with TDD enthusiast in the past... maybe things changed.
Cheers