[XPS-devel] XPS 0.1.9 Released
Status: Alpha
Brought to you by:
raspencer
|
From: Reid S. <dev...@re...> - 2003-04-22 09:00:39
|
Everyone,
I have just committed, tagged, and released version 0.1.9 of XPS.
Although I expected to be releasing the reflective compiler at this
point, I got sidetracked with various housekeeping issues. The
reflective compiler will be in the next release 0.2.0, hopefully within
the next month (depending on my work schedule). Release 0.1.9 fixes a
lot of housekeeping issues for XPS. Among them are:
* Removal Of Dependence On ACE. Although the venerable Adaptive
Communications Environment has served us well, I've removed it
from XPS because it was (a) too large, (b) too heavy (contained
way more features than XPS will every need), and (c) too hard to
configure and customize. While ACE isn't with us any more, we
thank Doug Schmidt, et.al. for their great inspiration. Many of
the patterns implemented in ACE will live on in XPS.
* Source now in "xps". There is a new top level source directory
named "xps" that replaces the now defunct "src". This directory
now contains all the software. This was necessary in order to
avoid complicated autoconf work to make links in the right
places. This assists use with getting the right path for
including header files.
* Removal of $ Log $ Lines. These lines were bloating the size of
the source files and mostly redundant. If you want to look at
the history, please use the "cvs log" command or browse it on
the site. Since all the files were changing to the "xps"
directory, I took the opportunity to clean these lines out since
all the files were getting fresh versions.
* New "os" module. This module provides an operating system
abstraction layer that provides simple abstractions implemented
by most operating systems without the need to #include ANY
system header files. This greatly speeds compilation and
provides a very concrete boundary between XPS and the operating
system. Support for files, memory mapping, asynchronous file
I/O, signal handling, dynamic libraries, threading, and
synchronization is currently implemented. Coming later will be
process management, asynchronous messaging, asynchronous socket
I/O, timers, and shared memory. Much of this will be used to
implement the XVM.
* New "base" module. If you ever looked at the old "util" module,
you'll probably find "base" familiar. Most of the classes have
migrated there. That's needed because of library ordering and
dependency. Think of "base" as operating system independent
stuff (dependent only on language features). Parts of the old
"util" module were dependent on the "os" module so we moved the
parts that weren't to "base" and left the rest in "util". This
is one of the consequences of removing ACE.
* Missing modules. The "adt", "meta", "task", "xvmapi", and
"xplec" modules have been temporarily removed. There is
significant work to do in these modules and rather than commit
them half-baked, I chose not to commit them at all for this
release. They'll reappear in 0.2.0. Its better that you don't
read broken code anyway.
As with the 0.1.8 release, you can build the XPL compiler (xplc) and use
it for checking your XPL program syntax. The XPS Daemon (xpsd), XPS
Shell (xpsh), and XPS Virtual Machine (xvm) all build correctly but
don't do anything other than print version information.
If you're going to build this, please read the file "INSTALL" before you
proceed. It will help you get the software you need in order
to successfully build XPS. As always, please let me know if you have
questions or problems.
Best Regards,
--
Reid Spencer <dev...@re...>
Open Source Developer
|