Content deleted Content added
→Downwards funarg problem: {{clarify}} |
|||
Line 26:
A downwards funarg may also refer to a function's state when that function is not actually executing. However, because, by definition, the existence of a downwards funarg is contained in the execution of the function that creates it, the stack frame for the function can usually still be stored on the stack. Nonetheless, the existence of downwards funargs implies a tree structure of closures and stack frames that can complicate human and machine reasoning about the program state.
The downwards funarg problem complicates the efficient compilation of [[tail call]]s and code written in [[continuation-passing style]]. In these special cases, the intent of the programmer is (usually) that the function run in limited stack space, so the "faster" behavior may actually be undesirable.{{clarify|date=October 2023|reason=What does running in limited stack space entail in this case? What is the faster and the slower behaviour and why would either be undesirable?}}
==Practical implications==
|