| David A. Moon, The MacLisp Reference Manual MIT Project MAC, April 1974. |
....These examples demonstrate the difference between dynamic and lexical variable scoping. The difference is of course whether references are determined at the binding declaration site, or determined in the binding execution site. The important point is that even though the references to x in MacLisp [8] and Pascal [6] have different meanings, the reference is unambigous, each language has a single scoping rule for variables. Aspect II. Separation of Name Spaces APL bar 4 5 r bar x [1] r 3 5 bar ) 3 MacLisp (setq bar 4) defun bar (bar) bar) funcall bar 3) 3 bar ; 4 In APL [5] ....
....II. Separation of Name Spaces APL bar 4 5 r bar x [1] r 3 5 bar ) 3 MacLisp (setq bar 4) defun bar (bar) bar) funcall bar 3) 3 bar ; 4 In APL [5] niladic function application and variable reference are syntactically indistinguishable, and thus share the namespace. In MacLisp [8] funcall, they coincide, but we see that functions and variables have separate namespaces. Aspect III. Single Variable Name Space Common Lisp (defun bar (foo) equal (locally (declare (special foo) foo) foo) let ( foo 3) declare (special foo) bar 4) nil In Common Lisp, in spite of ....
David A. Moon, The MacLisp Reference Manual MIT Project MAC, April 1974.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC