:: Re: [DNG] elisp &c
Top Page
Delete this message
Reply to this message
Author: Rainer Weikusat
Date:  
To: dng
Subject: Re: [DNG] elisp &c
Hendrik Boom <hendrik@???> 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.