Recursion never makes anything faster. At most, it's optimized to be turned into iteration.
Recursing with an accumulator
It makes reading faster.
More importantly, it can guarantee referential transparency. If you have a proven-to-work function that's ironed out into a for-loop by the compiler, it's a win/win.
How do you recursively iterate something like a JSON object with iteration only?
I thought this essentially depended upon recursion? I can't see how else this would be achievable.
If you absolutely cannot use recursion, with a stack, of course, although I wouldn't recommend it. How do you think recursion works?
Sounds like iteration is really just bad recursion
You can implement either with either, "bad" or "good" doesn't make sense here.
You can implement c / scheme / haskell / java in brainfuck. that does not make brainfuck good. things are not equal.
That may be, but the standard does not promise it. I know that it's true for any implementation worth a shit, but still. It's in the realm of "undefined behaviour".
Sounds like a shit standard to me user.
Just because a function is recursive doesn't mean it's tail-recursive.