x10 0.3.2 review

Download
by rbytes.net on

X10 project is a new object-oriented, type-safe programming language for programming the next generation of high performance systems

License: GPL (GNU General Public License)
File size: 8311K
Developer: Christian Grothoff
0 stars award from rbytes.net

X10 project 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.

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

What's New in This Release:
This release fixes some minor bugs in the code generator for atomic sections.
The type checker was improved substantially and now works for simple distribution operations.
In addition to the X10 compiler front-end and interpreter backend, a new backend that generates C code was started.
The new C backend already supports constants, (virtual) calls, exceptions, branches, allocation, and get/put operations.

x10 0.3.2 search tags