quote:Original post by Anonymous Poster
Languages often have specifications and/or "features" such that proper tail-recursion is impossible.
That isn''t the same thing.
That a language may permit one to write programs that are not tail recursive. Even languages that mandate tail recursion-optimizing compilers permit that (transformation into things with manually managed stacks is missing the point entirely).
quote:If compiled with proper tail-recursion in mind, the same function would yield:
If it yielded that, it would yield the wrong answer. Even with "proper" tail recursion, modifying the semantics of the function is wrong.