extprosys-announce Mailing List for XPS: eXtensible Programming System
Status: Alpha
Brought to you by:
raspencer
You can subscribe to this list here.
| 2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2003 |
Jan
|
Feb
(1) |
Mar
|
Apr
(2) |
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: Reid S. <re...@x1...> - 2005-05-24 21:02:25
|
Hello, XPS 0.2.0 was released today. This is a pre-release version of the eXtensible Programming System. After two years of integration with LLVM and battling the XML validation challenge, we are finally making progress again. For full details, please review the release notes at http://x-p-s.net/releases/0.2/docs/ReleaseNotes.shtml. This version marks some significant milestones in XPS development: * The definition of XPL core has been finalized. XPL core is the lowest level language that XPS supports. It provides semantics very close to the semantics of the LLVM intermediate representation. * This release provides a version of xplc, the XPL compiler, that can validate XPL core programs and reproduce them in XPL as output. This is used to verify that the basic parsing, validation, compilation and generation infrastructure is in working order. * This release offers a test suite with 1000+ test cases derived from the LLVM 1.5 Feature and Regression tests. The test suite is used to ensure that all semantic constructs are recognized by the compiler and correctly interpreted and processed. * This release introduces the XPL Back End for LLVM which can generate valid XPL source code from any LLVM intermediate represenation. * XPS now uses Subversion for its source code repository. * XPS selected Relax NG for XML validation. * XPS incorporated the JING Relax NG validator. * XPS now uses the LLVM Makefile System for configuration and building. For further details on XPS, please visit http://x-p-s.org/ Best Regards, Reid Spencer |
|
From: Reid S. <dev...@re...> - 2003-05-18 23:04:00
|
XPSers, I've just completed a set of modifications to the XPS home page that should make it a little easier to read/manage: 1. Changed the theme to use "black on white" instead of "blue on black" color theme (easier on the eyes). 2. Reduced the size of the main index page and put its content on the "overview" page of the project section. 3. Merged the Components and Architecture sections. The components are now listed on a single page under the architecture section. For those of you that have been waiting, I'll be working on documenting the architecture in a little more detail over the next couple of weeks. This should provide the high level overview that you're looking for. Best Regards, Reid Spencer XPS Project Lead. |
|
From: Reid S. <dev...@re...> - 2003-04-27 04:52:52
|
XPSers, Just a quick note to let you know that I've updated the XPS API documentation on Source Forge. There is now a complete introduction and brief documentation for every namespace, class and file. The detailed documentation for classes is still spotty but if you look at the various indices, you should get a good general understanding of the structure of the XPS code. From now on I will be publishing the documentation with each release and keeping it up to date and correct. To read the API documentation, please go here: http://extprosys.sourceforge.net/docs/apis/html/index.html -- Reid Spencer <dev...@re...> extprosys: eXtensible Programming System Team |
|
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
|
|
From: Reid S. <re...@re...> - 2003-02-10 21:51:25
|
XPS Folks,
Several things have happened over the last month of general interest
that I thought you'd like to know about.
* Web Site. The main web site at
http://extprosys.sourceforge.net/ (also available at
http://x10sible.org/) has been completely revised and
reorganized. It now uses a simple PHP theme and contains more
sections. Of particular note is a complete release plan for
XPS through version 1.0, access to project status and news,
and sections for descriptions of the architecture and
components of XPS.
* Formation of XSI. I have recently incorporated a company named
eXtensible Systems, Inc. to foster the development of XPS. The
company will seek investment capital to speed XPS development
and will offer commercial services and products based on XPS.
The XSI web site is not complete, but you can preview it at
http://www.x10sys.com/ ).
* SaveSomeGeeks.com. Inspired by the success of
www.savekaryn.com, I decided to see if XPS could benefit from
donations by Internet users. I don't know if this experiment
will go anywhere, but you can read my e-panhandling attempt at
http://savesomegeeks.com/. All net proceeds will go directly
to funding XPS development work. Help me promote this site
and it might just turn into some contract $ for XPS
developers.
* Architecture Changes. I've changed the architecture slightly
to include a general services daemon (XPSD) separate from the
XVM. The XPSD will provide software development services to
XPS developers. I have also renamed XVMSH as XPSH to more
accurately reflect its character as an interface into the
entire XPS system rather than just the XVM. I've also started
to document some of the extensions to XPS that we will tackle
early: User Interface, Virtual Reality Programming, Database
Interface, and Logic Programming.
* ADT Design. I have started an Abstract Data Types library to
provide the basic ADTs needed by XPS that are compatible with
its memory system. This includes things like lists, stacks,
queues, maps, hash tables, etc. I have a number of design
issues with this module and could really use some help
rationalizing it. Anyone interested in this area, please
contact me soon as this is what I'm working next. Its needed
to support the compiler's symbol table which is holding up
release 0.2.0.
That's it for now. I would appreciate your feedback on the websites and
other plans.
Best Regards,
Reid.
|
|
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.
|
|
From: Reid S. <ras...@re...> - 2002-07-19 06:45:16
|
*This message was transferred with a trial version of CommuniGate(tm) Pro* Fellow extensible programmers, I have (finally!) released the initial draft of the XPL schema definition. The released files can be found on SourceForge.net at the following location: http://sourceforge.net/project/showfiles.php?group_id=51164 There are two releases under the "XPL" package, XPL-en and XPL-Abstract. In both these releases there are .gz, .xsd, and .zip files. The .xsd file contains just the schema definition so that if you have a schema browser (e.g. XML Spy), this is all you need to download. The .zip and gz files both contain full (generated) documentation on the schema and are provided for those of you who do not have XML schema browsers. The XPL-Abstract release contains the abstract syntax for XPL. Only abstract schema elements are defined in this schema. Names of elements are descriptive of their purpose with respect to the compiler. This schema is not meant for programming but provides the abstract syntax of the language and is the basis upon which the compiler is built. Each element forms the head of a substitution group that is intended to be replaced with appropriately named elements for the various natural languages. The XPL-en release contains the concrete English language version of XPL. Other languages will come along as we interest international open source developers in XPL. The XPL-en release contains only concrete elements that are members of the substitution groups defined in the XPL-Abstract schema. Consequently, XPL-en is dependent on XPL-Abstract so you'll need both schema files to view XPL-en properly. Your comments on this new language definition are welcome. However, please note that this is a work in progress. If you wish to contribute substantially to this language, please join the SourceForge project so we can disseminate information more easily. Documentation and continual refinement will continue through the remainder of 2002 at which time another release of the language definition will be made. Best Regards, Reid Spencer XPS Project Manager |