|
|
|
|
|
by chriswarbo
2112 days ago
|
|
> that is not possible when an object is allocated in that frame and its address passed to the target function Ah of course, I hadn't thought about live aliases to stack-allocated data. You're right about destructors; I agree that they're not really tail-calls (since we're processing results). > C/C++ compilers can and do eliminate tail calls where possible, but there's no guarantee like you get from a compiler for a functional language. Yes, I tend to say "tail-call optimisation" when it's opportunistic (e.g. GCC/Clang), and "tail-call elimination" when it's guaranteed (e.g. Scheme/ML). |
|