-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Gambit-C 4.0 beta 18 is now available. The source tarball is here:
http://www.iro.umontreal.ca/~gambit/gambc-4.0b18.tar.gz
A prebuilt installation for Microsoft Windows is available here:
http://www.iro.umontreal.ca/~gambit/gambc-4.0b18-win.zip
Just unzip it in C: to get C:\Gambit-C\4.0b18, and then add C:\Gambit- C\4.0b18\bin to your path.
Here are the highlights of this release:
- Speculative inlining has been improved. This greatly improves the performance of compiled code when no declarations are given. The "no declaration" mode closely conforms to the R5RS semantics, where all global variables including car, +, etc are mutable (which is useful for debugging). Check http://www.iro.umontreal.ca/~gambit/ bench.html for a comparison with Chicken, MzScheme and Scheme48. It shows that when these systems are put in an R5RS conformant mode, Gambit is often an order of magnitude faster. Gambit is also quite fast in other situations (when predefined procedures are bound to immutable variables, when fixnum/flonum specific operations are used, and in unsafe mode).
- The benchmark suite (misc/bench.tgz) has been updated to support Bigloo, Chicken, MzScheme and Scheme48. There is a script to easily generate HTML tables showing the benchmark results.
- More predefined procedures are now inlined, including some recursive functions on lists: map, for-each, assq, and memq.
- Renaming of fixnum and flonum specific functions to the R6RS name (e.g. fx+ replaces ##fixnum.+, and fl+ replaces ##flonum.+). The ##fixnum... and ##flonum... versions are still available in this release but they will be phased out. In safe mode, which is the default, the fixnum specific functions now raise an exception on overflow. There are now "wrapping" versions which do not raise an exception on overflow, that is (fxwrap+ (expt 2 28) (expt 2 28)) => - -536870912 .
- Added an option to open-tcp-server to listen for connection requests on a given network interface (the default is to listen on all network interfaces).
- The polling interval for process ports has been shortened to improve promptness.
- The speed of memory moving operations, such as substring, has been improved.
- Fixed a GC bug with tables and added table-copy . Fixed a bug with char-ready? and peek-char .
Sorry to disappoint, but this release does not include a module system. That's something I'm still working on and I did not want to delay this release any further.
Marc