Jon, I think I understand your point about incremental optimizations. But are you really saying that you would compile from within Scheme? I guess there must be ways to do it. But maybe you're alluding to something more, maybe a sort of dynamic generation, compilation, and execution of code? Or am I reading more into your words than you intend? But if not, then isn't this to sort of thing that would be better done in a 'make' file or a shell script? > > Anyway, this could be used for incremental optimizations. Let's say that > you had a compiler that had an optimization stage, which you wanted to run > multiple times (to be sure than any resulting optimizations didn't have > optimizations). If your optimization process was called using (optimize > the-code), you could run it in two passes using ((double optimize) > the-code). > > (define double (lambda (orig-function) > (lambda (x) > (orig-function (orig-function x)) > ) > )) > > > > >