[XPS-devel] XPS 0.1.5 Released
Status: Alpha
Brought to you by:
raspencer
|
From: Reid S. <ras...@re...> - 2002-12-16 15:15:15
|
XPSers,
I have released version 0.1.5 of the eXtensible Programming System.
This release contains the following:
1. Simplified XPL.xsd (XML schema for XPL) that eliminates all
the abstract elements, provides a consistent naming for the
operators, adds additional functionality not previously in
XPL. Review the annotations and comments in the XPL.xsd
schema file or browse with XML Spy.
2. A new sample program, HelloWorld.xpl has been added to the
src/schemas/tests directory. You can review this familiar
program as a way to get familiar with XPL. However, this
version of "Hello World" can print out the greeting in five
languages so its not quite as trivial as you might expect.
3. Full support for autoconf/automake. The bulk of the
configuration work is done. The remaining work in this area
will pertain to ensuring the correct set of capability tests
are provided. The current build system is capable of building
different configurations (one per build directory) right
through distribution. The XPS 0.1.5 release was made with
"make dist".
4. An improved memory allocation system. The Segment classes
have been revamped to be more efficient and to implement
missing functionality. The Region class has been totally
revised to minimized bookkeeping overhead and allow users to
roll their own region configuration. Two features remain:
making the system work with transient memory as well as
persistent memory and making it all thread safe (Segment
class is already thread safe).
5. New modules: adt (Abstract Data Types), obj (Object Schema),
meta (Object meta schema), space (workspaces, etc.). These
four modules are in a rudimentary form but all are part of
the XPL compiler, xplc. The space module manages a user's
workspace which is simply a directory with XPL programs,
compilation objects, & etc. The meta module provides the
type system for XPL and the compiler will use these classes
to capture the declarations of various types from user
programs. The adt module provides persistent-aware abstract
data types such as sets, vectors, arrays, maps, and hash
tables. These will be similar in nature to the STL but much
simpler and with the ability to handle persistent memory
allocation.
6. The "util" module now contains two new classes: "Config" and
"MsgLoader". The Config class provides for configuration of
the various XPS modules via XML-based configuration files.
The schema for the files is in the Configuration.xsd file in
the src/schemas directory. The configuration files are quite
simple. Properties are placed in groups which can contain
either groups or properties. The MsgLoader class provides
(via ICU) loading of natural language messages for XPS. The
messages are stored in the "*.msgs" files and these can be
internationalized as we go along. This means that all
user-bound messages generated by XPS can be reported in
multiple natural languages.
7. The "test" module has been merged into the "util" module to
eliminate cyclic build dependencies. Unfortunately, this
means that some of the separation of concerns has to be
handled in the makefiles in the util module. Hope you never
have to go there.
8. The XPL compiler will validate your XPL program, and report
errors. However, it currently doesn't compile to anything.
That is the next step (release 0.2.0).
9. The XVM is currently just a skeleton. This program will
eventually be the backbone of any running XPL program.
10. The XVMSH is currently just a skeleton. This program will
translate user level commands into something the XVM can act
upon.
If you would like to try this early release out, here's what you need to
do:
1. Get the distribution file from here:
http://sourceforge.net/project/showfiles.php?group_id=51164
2. Use winzip or "tar" to extract the files.
3. In the xps-0.1.5 directory you should find files named README
and INSTALL. Read them, it'll save you some time.
As always, if you have questions, please feel free to ask.
Best Regards,
Reid.
|