Programming Language Support for Software Components

Speaker: Matthew Flatt, University of Utah

When & Where: 12:30pm, Monday, Feb 25, 2002, Room 400 AKW


One of the most promising directions for improving programming tools is in language-level support for reusable program components. Although components have been confused with modules or objects in the past, programmers are starting to recognize the importance of components as a separate kind of abstraction, and the value of specific language support for components.

A ``unit'' is a specific language construct that we have developed for defining and linking program components. We developed the unit construct as an extension to the Scheme programming language, and used it in the development of the DrScheme programming environment. More recently, with we have applied units to low-level systems software implemented in C, and to object-oriented Java code. The C tool is called ``Knit,'' and the Java tool is called ``Jiazzi''. (Both tools are freely available from our web site.)

In this talk, I will describe the unit model of program components and our experience with units in Scheme, C, and Java.