This is a summary from Fortress Language Specification 1.0.
Fortress "secure Fortran" in a nutshell.
- General-purpose
- Statically typed
- Component-based
- Designed for producing robust high-performance software with "high programmability"
- Intended to be a "growable language"
- be gracefully extended
- be scaling to "unprecedented" levels of parallelism and of addressable memory
- Supports modular and extensible parsing
- allow new notations and static analyses to be added
- High-performance computation with abstraction and type safety
- Support type inference
- although it's statically and nominally typed
- types can be omit if they are clear in the context
- types can be parametric
- Functions are first-class values
- Components in Fortress are defined as entities with export and import APIs (not in general compared with the same term of Scala)
- Built-in parallel computation support for large scale data structures, e.g. for loop is parallel by default
- Object and Trait
- an object consists of fields and methods
- traits are named constructs that declare sets of methods. This concept is from Self.
- method in traits may be abstract or concrete
- trait may extend other traits
- trait provides inherited methods as well as those declared in its declaration.