                                   eXene
                              version 0.4 (beta)

This is the first public beta release of eXene, a multi-threaded library for X
window system programming in Standard ML.  eXene is implemented in Concurrent ML
(CML), which is implemented on top of Standard ML of New Jersey (SML/NJ).  EXene
also uses modules from the SML/NJ Library.  You need version 0.93 of SML/NJ,
which includes version 0.1 of the SML/NJ Library, and version 0.9.8 of CML, in
order to use eXene.

ORGANIZATION:

The release is organized into two disctinct parts: the eXene library and the
eXene widget toolkit.  We expect that the interfaces of the eXene library will
be fairly stable, but the widget library is likely to change.

  eXene-0.4/			This is the root of the distribution
  eXene-0.4/README		This file.
  eXene-0.4/CHANGES		Summary of the change history
  eXene-0.4/COPYRIGHT		Copyright and liscense.
  eXene-0.4/install		Script to compile and export an eXene image.
  eXene-0.4/eXene-bug-form	Bug report form for eXene
  eXene-0.4/doc/		Contains drafts of the manuals and an overview
				paper
  eXene-0.4/lib/		The eXene library source
  eXene-0.4/widgets/		The eXene widget toolkit source
  eXene-0.4/bitmaps/		The MIT distribution bitmaps in eXene format
  eXene-0.4/contrib		Contributed eXene code an widgets
  eXene-0.4/examples/		A few small example programs
  eXene-0.4/demos/		Larger sample applications

PORTABILITY:

EXene has been used by a small collection of alpha testers for a couple of years.
It is known to work on Suns, SGI machines, and DECstations; we also think that
it works on the IBM RS/6000.  It has also been used with NCD, Textronix and
Graphon X-terminals.  Whether eXene works on a particular machine depends on the
SML/NJ runtime system (basically the calls connect_inet and connect_unix).
The protocol implementation is written in SML/CML, and should work with any
R4 or R5 server.

INSTALLATION:

The distribution includes a shell script (install) to compile and export eXene.
Before using this script, you will have to install SML/NJ, the SML/NJ Library,
and CML.  The install script has the following options:

  -o path	export the eXene image to "path" [default is "eXene"].

  -cml path	use "path" as the CML command [default is "cml"].

  -lib path	use "path" as the source directory of the SML/NJ Library
		[defualt is "/usr/local/sml/smlnj-lib"].

The most important of these is the "-lib" option, since most sites differ
in their conventions for locating software.

BUGS:

The distribution is fairly stable, although there are a few known problems.
There a race condition that may arise when a parent closes a child window.
The race is between notification of the child and any graphics operations
it may be performing; this manifests itself as invalid drawable error messages,
but should not affect the application's execution.

Bugs should be reported to sml-bugs@research.att.com, using the format given
by the file doc/eXene-bug-form.

