[gambit-list] Gambit-C 4.0 beta 13

Eric Merritt cyberlync at gmail.com
Wed May 11 22:47:51 EDT 2005


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