3 ms·
> ... goto-like control transfer which replaces the regular subroutine call. That very much sounds like a [regular subroutine] call has been eliminated. > Tai
by quietbritishjim 6y ago
> ... goto-like control transfer which replaces the regular subroutine call.
That very much sounds like a [regular subroutine] call has been eliminated.
> Tail calls are not eliminated
This sounds like rather delicate semantics. A call has been eliminated. It was in the tail position. It was replaced by something else, which you call the "tail call". Maybe you'd prefer RSCITLEIOTC (regular subroutine call in tail location elimination in favour of tail call)?
I think tail call elimination is good enough to communicate the concept, whereas (when it's not purely an optimisation) tail call optimisation is not good enough, because calling it an "optimisation" is such a dangerous trap.