On Sat, Sep 19, 2009 at 3:27 PM, Taylor R Campbell <campb...@mumble.net> wrote: > > I've seen that, but it doesn't say that the declarations can change > the semantics of a program. At the very least, it should have a big > scary warning to say that. I always assumed that SF would perform the > transformation only when it could prove that it wouldn't change the > program's semantics (i.e. only for movable operand expressions).
That's pretty hard to prove unless all the calls between the argument binding and the argument use are primitives or known to be effect-free. For the most part, you can get away with it because there isn't much Scheme code that uses side effects. For SYMBOL?, I thought it was worth integrating because GUARANTEE-SYMBOL is called on nearly every I/O operation. -- ~jrm _______________________________________________ MIT-Scheme-devel mailing list MIT-Scheme-devel@gnu.org http://lists.gnu.org/mailman/listinfo/mit-scheme-devel