[net.emacs] Variable Bindings

chris.umcp-cs@UDel-Relay (02/15/83)

From:  Chris Torek <chris.umcp-cs@UDel-Relay>

The problem is that each (arg @i[n]) is evaluated when used; that is,
that the values being passed to a function are not evaluated until
requested (and then once each time).  Well, this works fine for
everything EXCEPT evaluating variables that have been rebound locally.

I've started looking into this, and it's not all that easy.  You can't
tell how many levels back to go to evaluate arguments.  You can't
evaluate all arguments ahead of time, as in most languages, since
that's not the way it works now (meaning you'd screw everything else
up).  I think maybe what's required is some attachment to variable
bindings that says just who bound them; then if (arg) is being done, to
evaluate a variable, you go back bindings until the original caller's
bindings are obtained.

					- Chris