About XTC-X10 | Bugs | Download | Contact |
---|
X10 is a new object-oriented, type-safe programming language
for programming the next generation of high performance systems.
X10 is designed and developed by IBM.
The official website for X10 is
http://www.research.ibm.com/x10/.
This website is used for the development and distribution of a
free X10 compiler and run-time
based on the XTC framework.
While developed in close contact with the designers of X10 at IBM there are
significant differences in syntax and semantics between the (current) IBM
prototype and language specification. Those differences arise primarily
from the fact that the X10-XTC compiler attempts to implement what might be
close to the (non-existant) 0.5 specification of the language, whereas the IBM
reference implementation targets the 0.41 specification.
We hope that 0.5 will add operator overloading, generics and region types and
thus the X10-XTC compiler is build trying to support these concepts.
Another key difference is that the current X10-XTC compiler does not support
close integration of X10 and Java code (however, Java code can be called using classes
that are declared to be extern). On the technical side, the IBM compiler
compiles X10 code to Java source code which is then compiled to Java bytecode by
javac. The XTC-X10 compiler produces Tucson IR which is currently interpreted
by an interpreter written in Java (but is supposed to be compiled to C or native
code in the future). The reason is that Tucson IR will hopefully be easier
to compile and optimize compared with Java ASTs. As a result, equivalent
X10 code should run slower with XTC-X10 today, but might run as fast as UPC
code once we are a bit further along.
XTC-X10 is currently under heavy development. The current system is able to interpret various benchmarks (such as Linpack). However, there are no compiler optimizations and the interpreter is very simple. The current performance of the interpreter and the lack of public documentation on the language itself makes the system not suitable for general use at this time. However, it should be possible to run smaller X10 programs based on the examples provided. Please report bugs to mantis.
XTC-X10 is licensed under the GNU GPL.
You can access the current development version of XTC-X10 using subversion:
You need to obtain both the tree for XTC (which provides the general compiler infrastructure
and Java-specific tools) and the separate X10C tree (which only contains code relating to X10).
$ svn checkout https://gnunet.org/projects/xtc/
$ svn checkout https://gnunet.org/projects/x10c/
The current alpha-release of XTC-X10 is x10-xtc-0.3.2.jar.
A draft of a first paper on the type system, A Type System for Distributed Arrays, is now available.
XTC and XTC-X10 are developed by Christian Grothoff. Some testcases (X10 source code to test the parser) were obtained from the IBM X10 CVS repository (and are redistributed with permission).