What's Cool about Fortress

Thursday, September 20, 2007 - 7:00pm
E15-070 (Bartos Auditorium)
Guy L. Steele Jr., Sun Microsystems
Guy L. Steele Jr.

Joint Meeting with Boston / Central New England Chapter of IEEE Computer Society.

The Fortress programming language is now catching on outside of Sun. During 2004-2006 it was an internal research project, funded in part by Sun's contract with DARPA for High Productivity Computer Systems. In January 2007 it became an open-source project with an open-source community. People outside Sun are now writing Fortress code and testing it using the open-source Fortress interpreter. In this talk we will discuss some of the recent activity in this community as well as features of Fortress that have made it so appealing. While the language design was originally aimed at high-end ("petascale") parallel supercomputers, it appears also to be well-suited for programming multicore chip and multicore cluster systems.

Lecturer Biography: 

Guy leads a small computer language research group at Sun Microsystems. Prior to that, he worked at (among other places) Thinking Machines, Tartan Labs, and MIT, where the Scheme language he helped develop as his thesis project was in widespread use for introductory computer science courses for many years. His involvement in developing computer language concepts and standardizing computer languages has had a widespread impact on the entire industry.

In 1975 he co-designed (with Gerald Sussman) the Scheme language, which was heavily influenced by his graduate work at MIT . Scheme has been standardized as IEEE Standard 1178-1990 for the Scheme Programming Language; the 6th revision of this standard is going out for public balloting this summer.

Guy's two dozen or so papers on Lisp-like languages and their implementation (sometimes referred to as the "Lambda Papers") have had widespread influence in the computer language community; in particular, they persuaded the community that denotational semantics could be used effectively not only as a descriptive formalism but as a practical means of implementing a programming language.

Guy was vice chair and then chair of the X3J13 committee that standardized Common Lisp. He also formalized the grammar of Java, helped define several language features (including support for generic types), and coauthored (with James Gosling and Bill Joy) the Java Language Specification (in print for the last 10 years and now in its third edition). His book “C: A Reference Manual” (co-authored with Samuel Harbison) has been in print for 23 years and is now in its fifth edition. His book "Common Lisp: The Language" has been in print for 22 years and is now in its second edition. He was the project editor for the first edition of the standard for ECMAScript (popularly known as "JavaScript"), which is used in every Internet web browser. He also served on the X3J11 standards committee (C programming language).

One important thrust of Guy’s work has been the extension of programming languages to support parallelism and high performance computing. In this context, he designed Connection Machine Lisp (for fine-grained parallel symbolic computing) and C* (an extended C language for data parallel programming), and contributed heavily to the design of Fortran 90 and High Performance Fortran, for which his book “The High Performance Fortran Handbook” (with four co-authors) is one of the main reference sources. His current work in the design of the Fortress language extends this work.

Guy has served on over 30 program committees, 4 as chair, and one as subfield chair and 7 PhD thesis committees.

Guy's work has received appropriate recognition from a variety of organizations including: Dr. Dobb's Journal Excellence in Programming Award (2005), Fellow of the American Academy of Arts and Sciences (2002) member of the National Academy of Engineering (2001) ACM 1996 SIGPLAN Programming Languages Achievement Award ACM Fellow (1994, part of initial batch of fellows) AAAI Fellow (1990, part of initial batch of fellows)

ACM Grace Murray Hopper Award (1988) "for his general contributions to the development of Higher Order Symbolic Programming, principally for the advancement of lexical scoping in LISP"

ACM 1974-75 George E. Forsythe Student Paper Competition, First Place "for his paper `Multiprocessing Compactifying Garbage Collection' published in Communications of the ACM, Volume 18, September 1975"