Subject: Re: EVAL Implementations
From: Erik Naggum <erik@naggum.no>
Date: 1996/08/15
Newsgroups: comp.lang.lisp
Message-ID: <3049102812299749@arcana.naggum.no>


Malcolm Chiang Yoen Chan asks whether EVAL is just using the global
environment, and the answer is yes, it does, and that's what what the
language specification says it should do.

http://www.harlequin.com/books/HyperSpec/Body/fun_eval.html

Malcolm then asks about (let ((x 1)) (eval 'x)) after (defvar x 100).  as
the above web page will tell you, `eval' "evaluates the form in the current
dynamic environment and the null lexical environment".  `defvar' makes the
variable dynamic.  `let'-bindings on dynamic variables do not make them
lexical.

hope this helps.

#\Erik