[plt-scheme] 'eval' function seems to completely ignore scoping rules.

From: Ran Gutin (manicmessiah at gmail.com)
Date: Fri Jan 18 11:55:34 EST 2008

Let's begin with some code to showcase my problem:

(let ((x #t)) (eval 'x))

^ The above code will return an error. Guaranteed.

(define x () )
(let ((x #t)) (eval 'x))

... will return '()'.

So why does the 'eval' function completely ignore the current scope and
search the global namespace?
This confuses me immensely, but if there is an intended reason (or if this
is just a bug) it would be convenient for me to know.

Thank you. Ran.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/users/archive/attachments/20080118/b82e3c6c/attachment.html>

Posted on the users mailing list.