Monday, January 12, 2009

Fortress Summary

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
Modular Concerns
  • 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.

No comments: