_version_: PLT version checking
===============================

The version collection contains several version-related pieces that
are used by PLT Scheme.  First, the "check.ss" module provides a
single function:

> (check-version)

This procedure checks the currently available version on the PLT
website (doanload.plt-scheme.org), and returns a value that indicates
your current state -- one of these:

  * `ok
    You're fine.
  * `(ok-but ,version)
    You have a fine stable version, but note that there is a newer
    alpha version available
  * `(newer ,version)
    You have an old version, please upgrade to `version'
  * `(newer ,version ,alpha)
    You have an old-but-stable version, please upgrade to `version';
    you may consider also the newer alpha version
  * `(error ,message [,additional-info])
    An error occurred, the message is a string that indicates the
    error.
    The third (optional) value is a string that can be shown as the
    system error that happened.  This string will always be
    parenthesized, so `message' is a short error and
    `(string-append message " " additional-info)' is a verbose one.

The second functionality that is provided by this collection is in the
_patchlevel_ module.  This module provides a single value:

> patchlevel

which is an integer that indicates the current patch level.  This is
normally zero, but may be updated by patches to DrScheme.


Finally, the "tool.ss" makes DrScheme use both features:

* the patchlevel appears as a version `pN' suffix in DrScheme (but the
  binary version as reported by `(version)' is not changed);

* it is possible to periodically check whether a new PLT Scheme
  distribution is available for download.
