[gambit-list] Gambit-C 4.0 beta 20

Marc Feeley feeley at iro.umontreal.ca
Fri Oct 6 10:52:34 EDT 2006


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Gambit-C 4.0 beta 20 is now available.  The source tarball is here:

<http://www.iro.umontreal.ca/~gambit/download/gambit/4.0/source/ 
gambc-4.0b20.tar.gz>

A prebuilt installation for Microsoft Windows is available here:

<http://www.iro.umontreal.ca/~gambit/download/gambit/4.0/prebuilt/ 
gambc-4.0b20-win.zip>

Just unzip it in C: to get C:\Gambit-C\4.0b20,
then add C:\Gambit-C\4.0b20\bin to your path.

Here are the highlights of this release:

     - The mutation procedures (set-car!, set-cdr!, vector-set!,  
string-set!, etc)
       now check that the object is mutable (not a constant).  For  
example:

       Gambit Version 4.0 beta 20

       > (define x (symbol->string 'hello))
       > (string-set! x 0 #\m)
       *** ERROR IN (console)@2.1 -- (Argument 1) MUTABLE object  
expected
       (string-set! "hello" 0 #\m)

     - The compiler, gsc, now produces dynamically loadable object files
       by default.  The -dynamic flag is thus optional.  To generate a
       link file (which used to be the default) you must use the -link
       option.

     - The GCC compilation options used for Gambit have been updated to
       improve the code generation (execution time is 5% to 30% faster
       than before).  The set of compilation options was obtained by a
       genetic algorithm.

     - The --enable-gcc-opts configure option has been added.  It
       enables some expensive GCC optimizations (the build time
       more than doubles and you need lots of RAM, i.e. 2 gigabytes
       or more).

     - Minor bug fix in the reader which treated
         #\ 123
       as a syntax error instead of #\space followed by 123.

     - The runtime source code (in C) has been reorganized to
       be able to build Gambit on systems that are neither
       POSIX or WIN32.  In this case the Gambit runtime will
       not include functionality such as networking, processes,
       and preemptive multithreading.  It will use (blocking)
       stdio to do all I/O (presumably nearly all platforms,
       even embedded systems, have some library for stdio even
       if it is just a minimal functionality such as directing
       stdin/stdout to a serial port).

Marc

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (Darwin)

iD8DBQFFJm2y//V9Zc2T/v4RAkuTAJ0Vctr2zwPHys7QEnEo2tNG5yqB4QCeNNQI
2/pVeYwzS8vnLnOwy1/Dgec=
=xK9g
-----END PGP SIGNATURE-----


More information about the Gambit-list mailing list