Hendrik Boom <[email protected]> writes: > On Wed, May 25, 2016 at 03:22:01PM +0100, Rainer Weikusat wrote: > >> >> The LISP "alist" implementation is, as we noted earlier, an >> example of the "deep access" approach". The "alist" contains >> pointers to previous values of all bound variables together with >> the variable names. The name of the variable appears on the left >> side of a pair, and the value of the variable on the right side. >> >> [ftp://publications.ai.mit.edu/ai-publications/pdf/AIM-199.pdf, >> p. 5] >> >> [...] when one transmits a functional argument f which is to be >> evaluated in its binding environment, then one uses FUNCTION(f) >> instead of QUOTE(f). [...] The result of FUNCTION will be a >> structure which not only contains a reference to the function f >> but also contains a pointer to the binding environment. Thus at >> the FUNARG's activation time we will be able to use the pointer >> to restore the environment to the proper place. >> >> [...] >> >> In the "alist implementation, this process is even easier, >> because the save pointer is made the current "alist", and we are >> done because the values of free variables will be obtained from >> the "alist" which contains the binding environment. >> [p. 7, 8] > > If you're using alists, lexical scoping is more efficient > than dynamic scoping, because you won't be searching lond association > lists all the time.
I quoted this to provide a reference for the explanation which came above it. I don't quite understand how you statement would apply to that. _______________________________________________ Dng mailing list [email protected] https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng
