[plt-scheme] build-vector avoids sharing problem

From: Bill Richter (richter at math.northwestern.edu)
Date: Thu Feb 6 23:07:54 EST 2003

Rohan Nicholls <rohan.nicholls at informaat.nl> responds to me:

   from a quick perusal of the mzc manual, wouldn't this make your
   code native, giving you the speed boost you are looking for?

I tend to think that mzc isn't a serious competitor of Gambit, but
instead is a way of making DrScheme libraries, which sounds like a
really good thing but a different thing.  From the manual:

1.1  mzc Is...

     The mzc compiler takes MzScheme (or MrEd) source code and
     produces [...] platform-specific native-code libraries (.so or
     .dll files) to be loaded into MzScheme (or MrEd).

     The native-code compiler attempts to optimize a source program so
     that it runs faster than the source-code or byte-code version of
     the program. See section 1.4 for information on obtaining the
     best possible performance from mzc-compiled programs.

1.2 mzc Is Not...

     mzc does not generally produce stand-alone executables from
     Scheme source code. The compiler's output is intended to be
     loaded into MzScheme (or MrEd or DrScheme). However, see also
     section 5 for information about embedding code into a copy of the
     MzScheme (or MrEd) executable.

     mzc does not translate Scheme code into similar C
     code. Native-code compilation produces C code that relies on
     MzScheme to provide run-time support, which includes memory
     management, closure creation, procedure application, and
     primitive operations.

Posted on the users mailing list.