Chez Scheme Version 7.0a Release Notes
Copyright © 2005 Cadence Research Systems
All Rights Reserved
December 2005

1. Overview

This document outlines the changes made to Chez Scheme for Version 7.0a since Version 7.0.

Version 7.0a is available for the following platforms:

This document contains three sections describing significant (1) functionality changes, (2) bugs fixed, and (3) performance enhancements. A version number listed in parentheses in the header for a change indicates the first minor release or internal prerelease to support the change.

More information on Chez Scheme and Petite Chez Scheme can be found at, and extensive documentation is available in The Scheme Programming Language, 3rd edition and the Chez Scheme Version 7 User's Guide.

2. Functionality Changes

2.1. Universal foreign-callable support (7.0a)

Support for foreign-callable in Version 7.0 and prior releases was limited to the Intel Windows and Linux environments (threaded and nonthreaded). foreign-callable is now supported for the threaded and nonthreaded Solaris (32- and 64 bit) and PowerPC MacOS X.

2.2. new command-line parameter (7.0a)

The existing command-line-arguments parameter is set to a list of the command-line arguments by the default value of the scheme-script parameter whenever a Scheme shell script is run. The new command-line is similar, but is set to include as well the name of the script as the first element. Thus, (car (command-line)) can be used to determine the script, and (cdr (command-line)) can be used to determine the command-line arguments.

2.3. Socket example (7.0a)

The socket example found in examples/ in the release directory has been made more robust. The updated code also appears in the Chez Scheme Version 7 User's Guide.

3. Bug Fixes

3.1. Logical test operations (7.0a)

A bug in the optimizer's treatment of logtest, logbit?, fxlogtest, and fxlogbit?, which caused it to treat their return values as always true in test contexts, has been fixed. [This bug dated back to Version 6.9d.]

3.2. Format "$" bug (7.0a)

A bug that caused format to reject exact real numbers has been fixed, and format also now produces a more appropriate error message when passed a non-real number. [This bug dated back to Version 6.9b.]

3.3. thread? for nonthreaded versions (7.0a)

The thread? procedure, like other threading procedures, is no longer defined in the nonthreaded versions of the system. [This bug dated back to Version 6.5.]

4. Performance Enhancements

4.1. foreign-callable for nonthreaded versions (7.0a)

The speed of a call into Scheme via foreign-callable has been improved slightly for nonthreaded versions of the system. The difference is likely to be noticeable only for calls to Scheme procedures that execute quickly.