[gambit-list] Gambit-C 4.0 beta 13
Eric Merritt
cyberlync at gmail.com
Wed May 11 22:47:51 EDT 2005
Whoot!!!
On 5/11/05, Marc Feeley <feeley at iro.umontreal.ca> wrote:
> A new beta of Gambit-C 4.0 is now available in source form at this
> address:
>
> http://www.iro.umontreal.ca/~feeley/gambc40b13.tar.gz
>
> Here's what's new:
>
> - The "table" type. Tables map keys to values. Gambit has an
> efficient implementation of tables using hashing and open
> addressing. The runtime system and compiler now use tables
> internally instead of association lists in critical places.
> This improves the speed of the compiler when compiling
> large files containing many constants, or when the -debug
> option is used (on some tests the compiler runs 5 times faster).
> Tables can hold their keys weakly and/or their values weakly.
> The key comparison procedure and hashing procedure can be specified
> when a table is created. A reasonably efficient hashing procedure
> is used by default when the key comparison procedure is eq?,
> eqv?, equal?, string=? or string-ci=?.
>
> - Hashing. There are several hashing procedures (symbol-hash,
> keyword-hash, string=?-hash, string-ci=?-hash, eq?-hash,
> eqv?-hash, and equal?-hash). The procedures object->serial-number
> and serial-number->object are more efficient (thanks to eq? tables).
>
> - A new implementation of syntax-case is now included. This
> version preserves source-code location information, so it makes
> debugging easier than the previous version. It is usable
> in the interpreter and in the compiler. The integration with
> Gambit is not perfect: local variables are renamed, some special
> forms are transformed (e.g. when pretty-printing a procedure
> the code may look very different from what the programmer wrote),
> and some Gambit-specific special forms (such as ##namespace,
> ##declare, etc) are not available when using syntax-case. For
> this reason syntax-case is not enabled by default. To use it
> you must start Gambit like this:
>
> % gsi ~~/syntax-case -
>
> or load it from your customization file.
>
> - The web-server example has been extended to demonstrate how
> web-continuations can be used. There is also a fairly complete
> library for dynamically generating HTML. It shows how the
> ##namespace and ##include forms can be used to modularize code.
>
> - Most of the bugs and misfeatures reported on gambit-list have been
> fixed. Other bugs fixed: equal? on structures, passing Scheme
> functions to C, imprecise error messages, Mac OS X assembly code
> problem when using --enable-debug, and more. The system builds
> cleanly and has been tested in 32 bit and 64 bit environments
> (mainly Linux and Mac OS X).
>
> - The source code for GUIDE (Gambit Universal IDE) is now included
> in the distribution. Unfortunately, there were some problems
> getting the makefiles and configure script working properly with
> Qt, so currently GUIDE is disabled. I expect this to be fixed
> shortly. [If you feel adventurous the sources are in lib/guide.]
>
> - Gambit is now dual licensed. You have the option to choose
> between the Apache license and the LGPL.
>
> Marc
>
> _______________________________________________
> Gambit-list mailing list
> Gambit-list at iro.umontreal.ca
> http://mailman.iro.umontreal.ca/mailman/listinfo/gambit-list
>
More information about the Gambit-list
mailing list