Up through the mid-1990s, Emden Gansner and John Reppy designed and implemented eXene — a multi-threaded, higher-order user-interface toolkit for the X window system. EXene is implemented in Concurrent ML (CML), which is a Standard ML of New Jersey (SML/NJ) library, and is provided as part of the SML/NJ distribution. EXene has many appealing attributes and is certainly usable in its current state. But it suffers from some deficiencies which have limited its use, and there are a number of ways in which it could usefully be improved.
Our group at K-State is attempting to restart the development of eXene, working toward the release of Version 2.0 of eXene. Group members currently include:
Previous members include:
Dusty deBoer and Alley Stoughton have written a position paper on The Future of eXene. Comments on this paper, especially from current or potential users of eXene, will be gratefully received.
If you would like to be kept informed on the development of eXene, please send a message to Alley Stoughton (stough@cis.ksu.edu).
A first pre-release/alpha version of eXene 2.0 is available as a compressed tarball. It is based on the "fifth pre-release version of eXene 1.0", which is the version of eXene available from John Reppy's WWW site. It will shortly be included with Version 110.59 of SML/NJ.
This version offers a few enhancements to the previous release, including improved X authorization code, improved support for working with X resources, some widget deadlock-avoidance code, and support for receiving window deletion events from the X window manager. More improvements are to come (we promise!), but this release is provided in case eXene users wish to take advantage of what has already been accomplished.
Those interested in where we are going with the development of eXene may be interested in reading Dusty deBoer's master's thesis Enhancements to EXene: an X windowing toolkit for Standard ML. The development version of eXene described in this thesis, as well as the demos described in the thesis, are also available.
|
|