On Feb 2, 2008 10:47 PM, Marc Feeley feeley@iro.umontreal.ca wrote:
Of course it doesn't work! You are mixing two different levels of evaluation. What you should have written is:
Right. I'll crawl back in my hole now :)
Note that the semantics you were expecting requires dynamic binding. In other words, for the call to "eval", the caller's namespace environment must be accessed by the callee (eval in this case). This inheritance of the namespace environment would be very messy. For example consider:
I suppose I was thinking of something simpler where that ambiguity wouldn't exist - like passing an environment to eval as the third parameter. However, I'll need more experience with evaluators before I can say anything more.
Sorry if conversation was derailed - I hope the original poster got his questions answered.