The Subversion server provides access to the source code for PLT software (DrScheme, MzScheme, etc.) as it is being developed. The server is useful for those who want access to the latest and greatest version of PLT software, either to take advantage of new features or to help test the new code.

For a simple access to full nightly builds that does not require Subversion, see the nightly pre-release installers page.

To use the Subversion server, you will need

If you lack any of these, consider downloading compiled binaries or source code via the regular download page for PLT Scheme, MzScheme, or Other PLT Software.

Using the Repository

The subversion repository is on this server, http://svn.plt-scheme.org/plt. For reasonably stable code, always use the trunk, which is at

http://svn.plt-scheme.org/plt/trunk.

The subversion repository is available in many different ways:

Repository Overview

The PLT trunk contains the following directories:

Of course, when building under Windows (for example), the directories for Unix and Mac aren’t needed. Similarly, the MrEd or MysterX directories are not needed to build only MzScheme.

Building and Using the Code

Building C Source

Compilation information is provided by README files in various plt/src directories. Start with plt/src/README.

Downloading Pre-Release Binaries

If a binary for your platform is available from the pre-release binaries page, then you can download the binaries instead of building them. The pre-release binaries are updated nightly by building with the trunk code.

For installation instructions, see the bottom of the pre-release download page for your platform.

Updating Collection Files

After building and/or installing the binaries, byte-code-compile the Scheme sources by running Setup PLT (setup-plt in Unix). Whenever you update Scheme code in the plt/collects directory, run Setup PLT.

Change Logs

The change logs can be found in HISTORY files within plt/notes. For example, plt/notes/mzscheme/HISTORY records the changes made to MzScheme. Relatively detailed notes are kept between regular releases, but then collapsed when the release occurs.

In addition, the Release Chronology page has all release announcements.

Version Numbering

The version numbers for MzScheme and MrEd are always kept in sync. A pre-release version number has the form N.M.P.Q, where N.M.P is usually the version number for the previous regular release, and Q indicates the Qth trunk version after the N.M.P release. For example, 4.2.0.8 means "the 8th checkpoint after the release of version 4.2.0".

The Scheme code implementing DrScheme evolves at its own pace, but does not have a version number, per se. Instead, it uses the date of the checked out source for a reference.

Old Sources

PLT Scheme used to be hosted on CVS, but has moved to Subversion. The new repository does not contain the complete history, so the CVS repository is still active for historical content.

Using the Old Repository

The following commands will checkout the last stable version in CVS:
  cvs -d :pserver:anonymous@anoncvs.plt-scheme.org:/cvs login
  <hit Enter at the password prompt>
  cvs -d :pserver:anonymous@anoncvs.plt-scheme.org:/cvs checkout -r exp plt