4 ms·
> But isn't the whole point of tail recursion not to have those stack frames Sure. But a recursive function can have errors happen in one call that are only de
by pdpi 9y ago
> But isn't the whole point of tail recursion not to have those stack frames
Sure. But a recursive function can have errors happen in one call that are only detected a few levels down. Given a full call stack, you have a trace of the execution thus far that gives you information about where, exactly, things went wrong. With TCO, you're just left with the original call at the top, and the failed state at the bottom, and no snapshot of what happened in the meanwhile.
- srean 9y agoWhat you say is indeed true, but only partly so. The state of affairs would be no different in the corresponding iterative solution. I say 'partly' because you could put a break point at the entry point or before the call. One would be able to debug the recursion just as one would debug the corresponding loop.