Chicken Monk scripsit:
The way I see it (and which is most likely incorrect :-): regular code
has access to variables in the current and enclosing scopes, so the
functionality is already there...
Yes and no. In particular, in compiled code the compiler can notice
exactly which procedures have access to which variables, and only
pass the variables that are actually needed, either as additional
arguments or as a data structure or (in other Schemes) in registers.
If eval were allowed to access locally bound variables, such optimizations
would be impossible.