Hi, Racket Discourse.
Might be I'm overthinking the situation, but I thought I would ask anyway.
Is there a known theorem/result/conjecture about the expressiveness of macros, in terms of how many layers of nesting you'd need to express a particular (halting?) computation? I understand that this might be a broad question which doesn't necessarily apply to all implementations of macros, or that I might be confusing what "computation" even means in this case.
I got to thinking about the question because of this thread, where I ask about macros for replacing some pattern with the appropriately escaped ...
used in nested macros, i.e. ...
, (... ...)
, ((... ...) (... ...))
, and so on. But why would I ever need that level of nesting?
Edit: To clarify my point a bit, what I have in mind is some "principle" or even a rule of thumb that a macro that is nested past a certain degree [in its definition] could just as well be expressed using a combination of shallower macros; but, not necessarily below this degree.