That's kinda where I stood with the whole binary and XOR thing. XOR operators can be combined to form every other logical operation. Combine them with binary and you can ultimately produce solve any mathematical problem. So, in turn, you can theoretically produce any program, no matter how complicated. The only bit I missed would be the ability to "reference discrete blocks of memory" and I'm actually not sure that's necessary to solve a complex problem, it just makes it a lot easier (and if it really is necessary I only require the addiotion of a pen and paper).

Of course, I'm being pretty focetious but only to highlight how diffictult it is to define the term "programming language" (well, that and a cheap shot to make myself look clever... well, we are in ChitChat after all) and as an example a quick google for the phrase "Turing Complete" turns up this definition on StackOverflow:-

A Turing Complete system means a system in which a program can be written that will find an answer (although with no guarantees regarding runtime or memory).

So, if somebody says "my new thing is Turing Complete" that means in principle (although often not in practice) it could be used to solve any computation problem.
Once again, I refer you to my binary and XOR suggestion... which meets those criteria. I don't imagine for a second that anyone would seriously consider binary and XOR to be "Turing Complete" but you can't actually argue it isn't based on the definitions available.