[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. |