dynamic scoping, closures, local and special variables, and macro expansion.
Although our discussion in this article focuses primarily on the notation itself, we also provide some insights into the implementation of functional language interpreters and the differences between the lexical and dynamic scoping disciplines.
The difference between lexical and dynamic scoping disciplines is in the way parent contours are determined.
Now we can present an example that highlights the distinction between lexical and dynamic scoping. Notice in the following example that there is both a global variable N with value 1000, and a local variable N in the argument list of PARENT.
Early Lisp dialects, from Lisp 1.5 up through MacLisp and InterLisp--and APL and SNOBOL as well--use dynamic scoping rather than lexical scoping .