On Feb 17, 2025, at 3:08 PM, Van Snyder
<van.snyder(a)sbcglobal.net> wrote:
On Mon, 2025-02-17 at 09:13 -0500, Paul Koning wrote:
When Tom Pennello was a grad student studying under Frank de Remer at
ACSC, he collected a big pile of codes in languages that had nested
lexical and dynamic scopes (such as recursive internal functions). He
found that chasing up-links was much faster than displays. In some
cases, creating and destroying the display took six times longer than
executing the function. I mentioned this to Malcolm Cohen and me
mumbled something about a "trampoline." I have no idea what that is.
I'm puzzled by that, since the display is a static data structure and updating it
takes only a few instructions for each call and fewer for a return.
The display isn't static for nested recursive functions (as in Pascal) and you want
to have "deep binding," not "shallow binding."
I meant static as in allocation, not content. Yes, it changes for every call, but that
change is only 2 or 3 instructions.
paul