The General Public Release of Sheets

Please address all inquiries to:

What is Sheets?

Sheets is a hypercode programming environment. It supports complex interlinking and searching of code (for Java in particular) and documentation. For more high level information, see our brochure. In addition, if you simply want to peruse the documentation, it is separately linked to our servers over the Internet from this page. A technical report describes the design principles and some implementation details.

About this Release

Sheets was developed as part of the Gwydion Project at Carnegie Mellon University under the sponsorship of the Evolutionary Design of Complex Software Program (EDCS) at DARPA. Our research contract was supposed to continue through the summer of 2000, but DARPA decided to reduce and "re-focus" the EDCS program, and we were among the casualties. The Gwydion Project is winding down over the next few months and our research group will be disbanding.

Because of this premature termination, we have decided to release the current Sheets system, including all documents and source code, as free public-domain software. Our hope is that others will make use of Sheets and perhaps will continue the system's development. While we had hoped to add a number of additional features over the next two years, we believe that Sheets in its current form is an excellent environment for evolutionary development of Java software.

Due to the termination of the project, the Gwydion Group will no longer be performing active maintenance on Sheets. The implementors will continue to monitor mail to and will be glad to assist anyone who wishes to make extensions to Sheets. We welcome comments, and will attempt to rectify any reported bugs, but we can no longer guarantee immediate response.

This is primarily a Windows/JDK1.1 release. Although Sheets has been seen to run (to an extent) under Linux or Microsoft SDK for Java, our experience with the spectrum of Java bugs and implementation idiosyncracies across platform types has shown that "Write once, run anywhere" is still more of a dream than a reality. Although it should probably be considered beta-quality software, it is certainly solid enough for day-to-day use.


Sheets uses several other software packages. These will need to be downloaded and installed on your machine before you can run Sheets. Some of them have a few bugs for which we have designed work-arounds. If you use other versions of these packages rather than the ones we are recommending and have tested, then Sheets may not work.


JDK 1.1.7
Sheets should work with earlier JDK 1.1 versions, more or less depending on what bug it tickles or the release fixes. It can work with JDK 1.2 betas, but may need to be rebuilt from sources. There are known problems with the JDK 2 releases too, some of these include:
A commercial regular expression library in Java written by Steve Brandt and distributed with his gracious permission for use with Sheets.  Alternate use requires explicit arrangements.  See the JavaRegex Web site for more details about using Pat, its many useful features and licensing issues. Note that you need not unpack this distribution -- it can be used directly out of the zip file.
An XML parser written in Java from Microsoft. A newer version (1.9) cannot handle jdk version numbering properly (because of floating point conversion) and we have not adapted to a patched version yet. Although version 1.9 conforms to the submitted W3 specification for XML, we have delayed porting to it. Microsoft has partnered with Datachannel for further development of this tool, and we hope to adjust to the new API as time permits.
Sheets (latest release)
Includes documentation.
You will likely wish to choose and install a set of pre-built library summaries for JDK1.1.7, JDK1.1.7 plus Swing1.1, or JDK1.2. (Unfortunately, even if you are using the JDK1.2 prototypes, you will currently still need to run Sheets under JDK1.1.)
After you install the above tools, you should see the installation guide for information on how to configure Sheets.

User Documentation

Developer Resources


A parser generator for and in Java, produced by Sun. This distribution was created using version 0.8pre2.
Our scripts don't use any special Perl5 features, so any decent port of Perl 4 or 5 should suffice.

Developer Documentation

Terms of Distribution

The Sheets system was created by the Gwydion project at Carnegie Mellon University, and has been placed in the public domain by the authors. It may be used without restriction for any purpose, including commercial use. We request that anyone making substantial use of this code acknowledge the original authors. If there are any questions about the use of this code, please contact Scott E. Fahlman <>, who was the Principal Investigator on the project.

Sheets Developers:
  Robert Stockton
  Nick Kramer
  William Lott
  Rob MacLachlan
  Paul Gleichauf
  Steve Chin