PolyJ 1.0.2 Win32 distribution
------------------------------

This is the PolyJ compiler.  PolyJ is a portable compiler that accepts an
extended version of the Java language.  The PolyJ web site is located at

	www.pmg.lcs.mit.edu/polyj

The PolyJ language includes support for generic programming in the form of
parameterized types. Like some other proposals for adding genericity to Java,
PolyJ provides constrained parametric polymorphism. Unlike some, it uses
signature constraints (where clauses) to constrain the possible
parameters. This mechanism is important because it provides flexibility when
composing a program. It also allows basic types like "int" to be used as
parameter types. Unlike some other proposals, instantiation types are
first-class types that may be used wherever a type may be used -- particularly,
in run-time casts and "instanceof".

For a more complete overview of the PolyJ language, you may consult the file
"doc/overview.ps" or investigate the PolyJ web site.

This distribution also includes the package polyj.util, which includes
parameterized versions of classes such as Hashtable and Vector, as well as
parameterized collection classes for use in place of the Java 1.2 collection
classes. These new classes include implementations of the new Map and Set
interfaces, as well as support for both Iterators and Enumerations. A complete
implementation of the Java 1.2 collection class framework will be part of the
next release.


Installing PolyJ
----------------

To install PolyJ, simply extract the contents of the zip archive into a new
directory, run SETUP.EXE, and follow the on-screen directions.  Once setup has
completed, go to the System Properties panel by right-clicking on My Computer
on the desktop and selecting Properties.  In the Environment page, set the
CLASSPATH variable to include the location of the PolyJ class files
(e.g. C:\Program Files\polyj\classes), as well as the location of the Java
runtime classes (e.g. C:\Program Files\jdk1.2.2\jre\lib\rt.jar).  Note that
this MUST be done so that PolyJ can find the PolyJ and Java runtime
environment.

You may also want to add PolyJ to your PATH environment variable.


Using PolyJ
-----------

Usage: polyj [-r rootdir] [-c classdest] [-t javadest] [-classpath classpath]
             [-I insPackage] [-sync] [-force] [-g] [-O] [-v] [-V]
             [SourceFile ...]

See http://www.pmg.lcs.mit.edu/polyj for more information about PolyJ.


Copying
-------
The PolyJ software is distributed under the GNU General Public License, which
can be found in the file COPYING in the PolyJ installation directory.  You
should feel free to use, copy, and modify it, subject to the restrictions in
that file.  If you have any questions about the legitimate use of this
software, please contact us.


Bugs
----
If you find any bugs in the software or have suggestions to make, please let us
know at polyj@www.pmg.lcs.mit.edu.  Thanks!

We will be tracking bugs.  Information about the outstanding bugs in the
compiler will continue to be available from the PolyJ web page.


