"Maybe we want to know the call structure at runtime; in that case, we should capture that as debugging information, or as a reflection feature of the runtime system, but not as a core language design. Let the language implementation use the stack as efficiently as possible!"
Thank you. I don't know what the fear of implementing tail-calls without stack frames is, but I've heard it a bunch of times & the argument often seems to be - "we need stack traces". If that is essential, implement it as debug info & let the language spec be fast & powerful.
Thank you. I don't know what the fear of implementing tail-calls without stack frames is, but I've heard it a bunch of times & the argument often seems to be - "we need stack traces". If that is essential, implement it as debug info & let the language spec be fast & powerful.