Speaker:Dr. Sukyoung Ryu
Time:2007-03-20 16:00:00
Place:Room 317-2, Bldg 302, SNU

Abstract

The Programming Language Research Group at Sun Microsystems Laboratories is developing Fortress, a language intended to support large-scale scientific computation. The design principle of Fortress is three fold: 1) to promote the expression and use of multithreaded parallel algorithms, 2) to support a large variety of syntactic notations, including (as far as possible) standard mathematical notation as used to specify scientific computations, and 3) to allow the language to grow and to be extended by the user community.

The Fortress design team has followed a key strategic design principle: whenever we consider adding a feature to the language, we ask whether it might better be provided by a library routine, written in Fortress source code, so that it can be modified, extended, or replaced by others. To this end, we have incorporated rather elaborate mechanisms for encapsulation and abstraction, including composable components and a parameterized polymorphic object-oriented type system. The result is that we have a fairly complicated language for library writers that enables them to write libraries that present a relatively simple set of interfaces to the application programmers. Thus Fortress is as much a framework for language developers as it is a language for coding scientific applications. We find ourselves using objects and traits extensively within the libraries in order to present to the programmer a scientific application language that is formula- and array-oriented.

Fortress is a work in progress. We intend to grow the Fortress language and its implementation over time, with the help of university partners and other interested third parties.

Resources


[ List ]