Chez Scheme is an efficient and robust implementation of Scheme with support for all required and optional features of the ANSI/IEEE Scheme Standard and the Revised5 Reports on Scheme along with a number of language and programming environment extensions. Chez Scheme employs an incremental optimizing compiler that produces efficient code and does so quickly.
Petite Chez Scheme is a complete Scheme system that is fully compatible with Chez Scheme but uses a fast interpreter in place of the compiler. It was conceived as a run-time environment for compiled Chez Scheme applications, but is also a stand-alone Scheme system. Programs written for Chez Scheme run unchanged in Petite Chez Scheme, as long as they do not depend specifically on the compiler, albeit not as quickly and without the debugging information generated by the compiler. In fact, Petite Chez Scheme is built from the same sources as Chez Scheme, with all but the compiler sources included.
Both systems are copyrighted by Cadence Research Systems and are distributed under license. Use of Chez Scheme requires a license fee, while use of Petite Chez Scheme does not. Petite Chez Scheme is freely redistributable, while Chez Scheme may not be redistributed in any form.
The threaded versions are the same as the nonthreaded versions but support multithreading (and multiprocessing on computers with multiple processors or processor cores) based on Posix threads. They run somewhat slower than the nonthreaded versions for single-threaded applications.
Complete online documentation for Chez Scheme and Petite Chez Scheme is available at www.scheme.com in the form of two books written by R. Kent Dybvig: The Scheme Programming Language, Third Edition and the Chez Scheme Version 7 User's Guide.
The Scheme Widget Library (SWL) is a free windowing and graphics package. It includes an object system, a threaded windowing and graphics library, and various tools, including an editor and a window-based REPL (read-eval-print loop) window with tcsh-like history. It is distributed with online documentation in the form of the SWL Reference Manual, written by Oscar Waddell.
SWL is copyrighted by Oscar Waddell. It is based on Tcl/Tk, which is copyrighted by the Regents of the University of California, Sun Microsystems, Inc., Scriptics Corporation, and other parties. SWL and Tcl/Tk are both open source and freely distributable. Details are contained within the SWL and Tcl/Tk distributions.
Petite Chez Scheme and SWL may be downloaded at no cost via the links in the Petite Chez Scheme section and/or Scheme Widget Library section below. Chez Scheme requires a license fee; if you have purchased a license, it may be downloaded via the links in the Chez Scheme section below.
Before you download Chez Scheme, Petite Chez Scheme, and/or SWL, please read the appropriate license agreement(s) below.
Do not proceed with the installation unless you agree to the terms of the license agreement(s). Use of Chez Scheme, which is compiler-based, requires a license fee. It cannot be redistributed. Use of Petite Chez Scheme, which is interpreter-based, does not require a license fee, and it may be redistributed. Petite Chez Scheme may be used as a stand-alone Scheme system or as an application-delivery vehicle for compiled code produced by Chez Scheme. Please refer to the license agreements and to Section 2.7 of the Chez Scheme Version 7 User's Guide for details.
Instructions for installing Chez Scheme, Petite Chez Scheme, and SWL are given in the installation instructions section.
Installation instructions are given below for the nonthreaded versions of Chez Scheme. Installation of the threaded versions is similar. Since SWL is not designed to run in the threaded versions, to run SWL you must install the nonthreaded version.
To install both Chez Scheme and Petite Chez Scheme under Windows, run csv74.exe. To install Petite Chez Scheme only (e.g., for home use or as part of a delivered application), run pcsv74.exe. Both also install SWL.
Once installation has been completed, you can run Chez Scheme or Petite Chez Scheme under SWL by clicking on the SWL desktop icon or selecting SWL from the "Chez Scheme" program folder on from the start menu. You may run Chez Scheme or Petite Chez Scheme outside of SWL by clicking on the appropriate icons. If you did not deselect the option to set up the path variable to allow shell use, you can run Chez Scheme in a shell window by typing scheme, run Petite Chez Scheme in a shell window by typing petite, or start SWL from a shell window by typing swl.
Chez Scheme, Petite Chez Scheme, and SWL can be uninstalled via the add/remove programs icon in the control panel.
While it is okay to install Chez Scheme over an existing Petite Chez Scheme installation of the same version, we suggest that you uninstall any earlier versions of Chez Scheme and/or Petite Chez Scheme before installing a new version.
The easiest way to install Chez Scheme under Linux is via RPM if you have it. To use RPM, run
rpm -i ChezScheme-7.4-1.i386.rpm
To install Petite Chez Scheme under Linux, run
rpm -i PetiteChezScheme-7.4-1.i386.rpm
To install SWL under Linux, run
rpm -i SWL-1.0d-1.i386.rpm
You will first need to install Tcl/Tk 8.3 or later, as well as Chez Scheme, if not already installed.
By default, the rpms do not build heap files. Heap files reduce startup times and increase sharing, but sometimes cause problems due to the inability of the system to allocate the required absolute address range. To force the rpms to build heaps, set the environment variable BUILDHEAPS to some non-zero value before running rpm.
Once installation has been completed, you can run Chez Scheme in a shell window by typing scheme, run Petite Chez Scheme in a shell window by typing petite, or start SWL from a shell window by typing swl.
Chez Scheme, Petite Chez Scheme, and SWL can be uninstalled with rpm -e package-name.
Source RPMS for both Chez Scheme and Petite Chez Scheme (containing RPM SPEC and binary tar.gz files) are provided to allow the binary RPM to be rebuilt (via rpmbuild --rebuild) in case of incompatibility with installed libraries.
Debian users may be able to install the Linux RPMs using alien, e.g.,
alien -cd PetiteChezScheme-7.4-1.i386.rpm
To install Chez Scheme under Mac OS X, unpack csv7.4-machine-type-1.pkg.tar.gz and click on the pkg file. To install Petite Chez Scheme, use pcsv7.4-machine-type-1.pkg.tar.gz instead. You will need the root (administrator) password to perform the installation. The package file installs an executable as /usr/bin/scheme (or /usr/bin/petite), which you can run in a new shell window by typing just scheme (petite), and a manual page, which you can access in a shell window by typing man scheme (man petite).
To install SWL, you must first install Tcl and Tk if they are not installed already. Then unpack swl1.0d-machine-type-1.pkg.tar.gz and click on the pkg file. This will install the SWL application (in the finder, select Go, then Applications, then SWL) and also the executable /usr/bin/swl in case you prefer to run SWL from a shell window.
You can also install the packages from a shell as follows:
tar -xzf packagename.pkg.tar.gz
installer -pkg packagename.pkg -target /
The latter command must be run as root.
To uninstall Chez Scheme, remove /usr/lib/csv7.4, /usr/bin/petite, /usr/bin/scheme, /usr/share/man/man1/petite.1, /usr/share/man/man1/scheme.1, and /Library/Receipts/csv7.4-machine-type-1.pkg (/Library/Receipts/pcsv7.4-machine-type-1.pkg for Petite Chez Scheme). To uninstall SWL, remove /usr/lib/swl1.0d, /usr/bin/swl, /Applications/swl.app, and /Library/Receipts/swl1.0d-machine-type-1.pkg.
To install Chez Scheme and/or Petite Chez Scheme from a .tar.gz file, first unpack the .tar.gz file. This will produce the directory csv7.4 containing the software. The file csv7.4/ReadMe contains installation instructions, but generally the following suffices:
The configure script recognizes several options. To build the threaded version, if available, pass the --threads option to configure; to build the 64-bit version, if available, pass the --64 option. To force relinking of the executable image against local libraries, use --force-relink. To force heaps to be build, use --build-heaps. Run ./configure --help for more options.
If you want to test the build before installation, consult the file csv7.4/ReadMe for instructions.
To install both Chez Scheme and Petite Chez Scheme, use csv7.4-machine-type.tar.gz. To install only Petite Chez Scheme, use pcsv7.4-machine-type.tar.gz instead.
For multiple .tar.gz files, it is safe and often desirable to unpack them into the same directory. You must run 'make distclean' between makes, then rerun './configure' for different machine types, however.
To install SWL, unpack swl1.0d-src.tar.gz, which will produce the directory swl1.0d. Edit Mf-install if necessary to change installation target directories. Finally, run
in swl1.0d. You will first need to install Tcl/Tk 8.3 or later, as well as Chez Scheme or Petite Chez Scheme, if not already installed.
NOTE: The SWL make file is set up to rebuild from source if Chez Scheme is installed and to use the binaries included in the tarball if just Petite Chez Scheme is installed. You must be running Chez Scheme to rebuild SWL from source, since rebuilding SWL requires the compiler.
SWL is designed to run in the nonthreaded versions of the system and has not been tested in the threaded versions.
Once installation has been completed, you can run Chez Scheme in a shell window by typing scheme, run Petite Chez Scheme in a shell window by typing petite, and (if you chose to install SWL) start SWL from a shell window by typing swl
Run 'make uninstall' to see uninstallation instructions (this will not actually do the uninstallation) for Chez Scheme or Petite Chez Scheme. To uninstall SWL, remove /usr/bin/swl and /usr/lib/swl1.0d.