|
|
fortress
|
| Summary | Project Fortress Code |
|---|---|
| Categories | None |
| License | BSD License |
| Owner(s) | chf, dr2chase, ericallen, flip, jmaessen, sukyoungryu |
This is a reference implementation of the Fortress programming language.
Fortress is a new programming language designed for high-performance computing (HPC) with high programmability. In order to explore breakaway approaches to improving programmability, the Fortress design has not been tied to legacy language syntax or semantics; all aspects of HPC language design have been rethought from the ground up. As a result, we are able to support features in Fortress such as transactions, specification of locality, and implicit parallel computation, as integral features built into the core of the language. 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 reference interpreter for the Fortress language requires Java 1.5 (or better) to run and Ant 1.6.5 (or better) to build.
The majority of Fortress' implementation is BSD-licensed but some components are released under other licenses:
| Majority of Fortress language implementation | BSD |
| Unicode character database | Unicode Copyright |
| Rats parser-generator | GPL, LGPL |
| Ant libraries | Apache License |
| BCEL | Apache License |
| FJTask | "Public Domain" |
| JUnit | Common Public License |
| DSTM2 | BSD |
Subversion repository
The development repository (part of a Trac project).
The zipped package is no longer available.
NEW Trac-based project page
Live development repository and timeline, lightweight wiki, tickets.
Gmane access to fortress-discussion mailing list
The Fortress language specification (2.2MB pdf)
Archives from the old Fortress-Interest mailing list
Sun's Programming Languages Research Group web page
Following the lead of other open source projects, Project Fortress requires contributors to jointly assign their copyright on contributed code. The Sun Contributor Agreement (SCA) gives Sun and the contributor joint copyright interests in the code: the contributor retains copyrights while also granting those rights to Sun as the open source project sponsor.
The SCA is applicable to all products and projects owned or managed by Sun: signing it once means you can contribute code to any Sun-sponsored open source project.
By executing the SCA, contributors protect the Project Fortress code base, enable alternative licensing models, and protect the flexibility to adapt the project to the changing demands of the community. In order for the SCA to be effective, Project Fortress must obtain an assignment for all contributions. Please review the SCA for a complete understanding of its terms and conditions. By contributing source code or other material to Project Fortress you represent that you have a SCA with Sun for such contributions. In order to track contributors, you understand that your full name and username will be posted on a public URL of authorized contributors.
Go here for more information.
|
![]() |
By any use of this Website, you agree to be bound by these Policies and Terms of Use. |