> The details of the interpreter's implementation are not public, I'm > afraid. The interpreter does its job, but not quickly, and any change > to make it better would involve a change to the environment > representation. > > Anyway, it's looking in the wrong place. There is a compiler too.
And since it seems to be my day to send poorly-thought-out emails, here's another issue. Yes, evaluation should almost always be done by the compiler. I was imagining that procedures that use the (capture-local-environment) form would be interpreted, because using the compiler there could get ugly. (I realize it's possible to use the compiler there somewhat, but it seems easier at first to just not do it.) That's why I was looking at primitive-eval. Thinking about it now, I can imagine a sort of hybrid compiler-interpreter implementation strategy, but I'm not sure if that's the right thing to do here. It's a lot more complexity. Have a nice day, Noah