[plt-scheme] Re: [Larceny-users] side effects in R6RS modules

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Tue May 5 13:30:20 EDT 2009

At Tue, 5 May 2009 20:06:51 +0300, Abdulaziz Ghuloum wrote:
> Did you know that the number of times such libraries are invoked is
> different depending on whether you use mzscheme (the executable),
> plt-r6rs, or DrScheme?

If I understand what you mean, then this is misleading.

For a group of modules in source form, and if you run them directly
without buidling bytecode files, then the number of invocations will be
more than if you run after building bytecode files. However, if you
build the bytecode files dependencies first (so that each file is
compiled once) and count the number of invocations while building
bytecode files, then the total number will be the same.

Of course, if you compile a file, throw away the result, and compile
again, then you'll end up with more invocations. DrScheme does that for
various reasons related to debugging. In general, we consider it
acceptable to compile a given source file multiple times. It's the
guarantees for a single compilation of a single module (and the way
that such compilations are separated, even if you run directly from
source) that we find useful.

Posted on the users mailing list.