|
| United States Worldwide |
|
The Fortress Programming Language:First Fortress Code ReleaseJanuary 10, 2007-The Programming Language Research Group (PLRG) at Sun Microsystems Laboratories has just released the first reference implementation of the Fortress programming language. The interpreter runs on the JVM and the source code is available for download, by anyone, at: fortress.sunsource.net This Fortress interpreter v.0.1 alpha release consists of a small core of the Fortress Programming Language, and is only partially feature-complete. The Sun Labs PLRG intends to grow this implementation over time, with the help of university partners and other interested third parties. The expectation is that many parts of this interpreter will be used as components of a complete Fortress compiler, the long term goal for Project Fortress. The team is actively soliciting comments and feedback on the release. Fortress language features implemented in this release:
Fortress Design: Applying lessons learned to the next generation of programming languages With a focus on the needs of users of very high performance systems and programmers who work in disciplines that rely extensively on mathematics, the PLRG applied lessons learned from previous language design efforts to Fortress development. Fortress design has not been tied to legacy language syntax or semantics; all aspects of high performance computing (HPC) language design have been rethought from the ground up. As a result, a powerful array of features are built into the core of the language, and are custom-tailored to modern HPC programming. Some of the features supported by Fortress include memory transactions, specification of locality, and implicit parallel computation. Additional features such as the Fortress component system and test framework facilitate program assembly and testing, and enable powerful compiler optimizations across library boundaries. Even the syntax and type system of Fortress are custom-tailored to modern HPC programming, supporting mathematical notation and static checking of properties such as physical units and dimensions, static type checking of multidimensional arrays and matrices, and definitions of domain-specific language syntax in libraries. Moreover, Fortress has been designed with the intent that it be a "growable" language, gracefully supporting the addition of future language features. In fact, much of the Fortress language itself (even the definition of arrays and other basic types) is encoded in libraries atop a relatively small core language. The Fortress component system enables powerful compiler optimizations across these library boundaries. Moreover, Fortress supports the definition of new language syntax in libraries. In these ways, it is anticipated that Fortress will be able to adapt along with the changing needs of high performance computing. Fortress has been designed to run well on a variety of platforms, including supercomputers with large stores of addressable memory, commodity clusters, workstations, etc. Many aspects of the language have been designed to be general purpose, and to be as portable and as possible. Moreover, the model of parallelism in Fortress is also well-suited to programming systems that are single-chip yet multicore. Thus Fortress is designed to be a state-of-the-art portable programming language for high performance computation on a variety of platforms. By bringing cutting-edge language design theory and implementation technology to bear, the PLRG team hopes to improve the productivity of scientific and numerical programming by supporting appropriate abstractions, making "stupid mistakes" less likely, and reducing the effort of translating from science to computation. The Sun Labs Programming Language Research Group (based in Burlington, Massachusetts) maintains a web site with information about the project, including a list of presentations and technical papers. There is also a link on the site to the Fortress-interest mailing list: a source for news about new releases of the Fortress specification, implementation, and related tools. For more information: The Fortress Language Specification Sun Labs Programming Languages Research Group | ||||||||||||||||||||||