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

Ran Gutin manicmessiah at gmail.com
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://list.cs.brown.edu/pipermail/plt-scheme/attachments/20080118/b82e3c6c/attachment.htm


More information about the plt-scheme mailing list