[MSLUG] Gambit-C 4.0 beta 9

Marc Feeley feeley at IRO.UMontreal.CA
Mon Oct 11 23:42:52 EDT 2004


Beta release 9 of Gambit-C 4.0 is now available.  This is still beta
software so some functionality may be buggy.  Nevertheless, the system
passes Gambit's standard test suite on Mac OS X, Linux/386, and
Microsoft Windows.  The main reason for this beta release is to allow
people to experiment with the new features of version 4.0 and to give
feedback.

The source code tar ball is available at:

   http://www.iro.umontreal.ca/~feeley/gambc40b9.tar.gz

Binary distributions of the system for Mac OS X, Linux/386, and
Microsoft Windows are available at:

   http://www.iro.umontreal.ca/~feeley/Gambit-C-macosx.tar.gz
   http://www.iro.umontreal.ca/~feeley/Gambit-C-linux.tar.gz
   http://www.iro.umontreal.ca/~feeley/Gambit-C-win32.zip

For Mac OS X and Linux you should untar the files in /usr/local (thus
creating the Gambit-C installation directory /usr/local/Gambit-C).  On
Microsoft Windows you should unzip the files in C:\ (thus creating the
Gambit-C installation directory C:\Gambit-C).  The bin subdirectory
contains the Gambit interpreter and compiler.  The doc subdirectory
contains the user manual, gambit-c.pdf.

Attached below is the README file.

Marc Feeley

README file for Gambit-C version 4.0 beta 9 (October 11, 2004)
===========================================


This software is Copyright (C) 1994-2004 by Marc Feeley, all rights reserved.


This directory contains release 4.0 beta 9 of the Gambit-C Scheme
programming system.  Gambit-C includes a Scheme interpreter and a
Scheme compiler which can be used to build standalone executables.
Because the compiler generates portable C code it is fairly easy to
port to any platform with a decent C compiler.

The Gambit-C system conforms to the R4RS and IEEE Scheme standards.
The full numeric tower is implemented, including: infinite precision
integers (bignums), rationals, inexact reals (floating point numbers),
and complex numbers.  Gambit-C supports a number of extensions to the
standards including:

 - an optimizing compiler
   - with several powerful transformations (automatic function inlining,
     partial evaluation, etc)
   - that generates properly tail-recursive portable C code
 - a scalable thread system that can handle millions of concurrent threads
 - an I/O system fully integrated with the thread system that supports
   - regular files
   - ttys (terminals and serial ports)
   - sockets (tcp-client and tcp-server)
   - directories
   - processes
   - pipes
 - an infix syntax extension (SIX) that allows mixing code in the
   standard prefix syntax with code in a C-like syntax
 - the following SRFIs:
    - SRFI 0 (Feature-based conditional expansion construct)
    - SRFI 4 (Homogeneous numeric vector datatypes)
    - SRFI 6 (Basic String Ports)
    - SRFI 8 (RECEIVE: Binding to multiple values)
    - SRFI 9 (Defining Record Types)
    - SRFI 18 (Multithreading support)
    - SRFI 21 (Real-time multithreading support)
    - SRFI 22 (Running Scheme Scripts on Unix)
    - SRFI 23 (Error reporting mechanism)
    - SRFI 27 (Sources of Random Bits)
    - SRFI 39 (Parameter objects)
 - a REPL/debugger with
    - a continuation inspection facility (i.e. "backtrace")
    - a single-stepping mode
    - error messages with location of error (file, line, and column number)
    - emacs compatible line-editing with history
 - very efficient bignum implementation
 - a foreign function interface for C
 - a memory management system that grows and shrinks the heap based on
   the program's needs
 - a linker that builds standalone executables and shared libraries
 - dynamic loading of compiled modules and libraries (supported on many
   platforms)
 - Unicode support for characters, strings, I/O and source code
 - object finalization
 - pretty printing
 - keyword objects
 - optional and keyword parameters (with the syntax and semantics of DSSSL)
 - configurable reader with control over case sensitivity
 - write/read invariance of symbols, e.g. (string->symbol "B;123") => |B;123|
 - write/read invariance of floating point numbers
 - unhygienic macros
 - and many other things!

The user manual for the Gambit-C system is available in PDF format
(the file "doc/gambit-c.pdf"), in HTML format (the file
"doc/gambit-c.html"), in text format (the file "doc/gambit-c.txt") and
in "info" format (the files "doc/gambit-c.info*").

Installation instructions are given in the file "INSTALL.txt".

If you have any questions concerning Gambit-C please address them to:

  gambit at iro.umontreal.ca

The latest official release of the system can be obtained from the
Gambit web page at:

  http://www.iro.umontreal.ca/~gambit


More information about the MSLUG mailing list