Theme B: Program structuring - First year Progress Report

The plan was to focus on two structuring mechanisms: modules and encapsulation of computational effects. Both have been extensively investigated in the context of functional languages. The goal is to make these structuring mechanisms language independent, through a deeper theoretical understanding of their workings.


The major achievements in Year 1 have been on generic modules languages, and on types and constructs for multi-stage programming (this was not among the topics indicated in the WG proposal). While there have been no major achievements on encapsulation of computational effects, yet. The First annual meeting included also overview talks. Those directly related to Theme B were by M.Jones on "Program Structuring in Haskell" and X.Leroy on "A Modular Module System".

Theme B emphasizes the role of modules for programming in-the-large and "component-based programming" (as proposed in M.Jones' overview talk). In this respect it is important to support first-class modules, even at the expense of separate compilation.

Multi-stage programming is a method for improving the performance of programs through the introduction of controlled program specialization. In Theme B the goal is to provide high-level constructs, which enable the programmer to directly control specialization and execution of programs, while in Theme E the emphasis is on automatic (behind the scene) optimization. However, the two approaches share a common theoretical underpinning.


Besides the interactions funded by APPSEM the following visits were relevant to Theme B: E.Moggi visits OGI (28/05-08/06/1998 - MURST and OGI funding), X.Leroy visit Genova (01-24/09/1998 - Italian CNR funding).


M.Jones has moved to OGI (Portland, OR, USA), S.Peyton-Jones has moved to MS Research (Cambridge, UK). Both are outstanding researchers with top-level expertise on Haskell. Collaboration with M.Jones (and other people at OGI) is expected to continue through other sources of funding. Therefore, we don't see the need to revise our objectives. Finally, D.Remy has agreed to replace M.Jones in the coordination of Theme B.