3 ms·
Of the commonly used Lisps today, only Emacs Lisp is dynamically scoped. That's not quite accurate. Common Lisp and Clojure are both lexically and dynamically
by Zak 14y ago
Of the commonly used Lisps today, only Emacs Lisp is dynamically scoped.
That's not quite accurate. Common Lisp and Clojure are both lexically and dynamically scoped. In CL, things created with def* (defun, defparameter, defvar, etc...) are dynamic, while function arguments and things created with let are lexical[0]. In recent versions of Clojure, it's necessary to explicitly make a symbol dynamic with metadata.
[0] This is probably not entirely correct or complete, but should get across the general idea.