Path: utzoo!utgpu!water!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!rutgers!njin!princeton!phoenix!eliot From: eliot@phoenix.Princeton.EDU (Eliot Handelman) Newsgroups: comp.lang.lisp Subject: Scope of EVAL (was: Re: Summing a list) Message-ID: <4154@phoenix.Princeton.EDU> Date: 28 Oct 88 00:57:14 GMT References: <10794@srcsip.UUCP> <10813@srcsip.UUCP> <249@pitstop.UUCP> Reply-To: eliot@phoenix.Princeton.EDU (Eliot Handelman) Organization: Princeton University, NJ Lines: 19 In article <249@pitstop.UUCP> robv@pitstop.UUCP (Rob Vollum) writes: >Of course, there are the other problems, such as EVAL not being >able to "see" lexical variables, etc. Is that really true? In the following example, EVAL consults the lexical environment, rather that the global. (setq x nil) And now (let* ((x t) (y x)) (eval y)) => t The result of the first evalution sets y to x; yet EVAL gets the effective lexical binding anyway. This also seems to work whether or not the code is compiled and x is made special. Can you give an example where that isn't the case? Eliot Handelman Music, Princeton U.