KRUCHTEN84

Kruchten, Phillippe, Schonberg, Edmond, and Schartz, Jacob; Using the SETL Programming Language; IEEE Software 1,4 (1984), pp. 66-75.

This article is essentially a sales pitch for SETL, supported by an account of howSETL was used to write a prototype Ada compiler.After some nice motherhood about the complexity of designing large systems and the shortcomings of all programming language other than SETL, the authors introduce mathematical and give a sketch of SETL itself, both from the language point of viewand the compiler point of view. The remaining half of the article is about the NYU Ada/Ed project. Giventhat there are manyother excellent papers about SETYL and about software engineering, the report on the Ada project is definitely the most interesting part of the present paper.

Things beganinnocently enough in 1978 with a "small scale" study of some optimization issues concerning Ada. It wasquickly realized that Ada was not yet precisely defined, so SETL was used to create a first "executable semantic model" of all those parts of Ada that were implementable. The resulting SETL pro- gram was a 2000-line interpreter for an intermediate representation of Ada programs called "Ada Interme- diate Source". Tw o months later,aparser had been added, and by the time the 1980 Ada standard [1] was released, Ada/Ed was already a working model of most of the language’ssemantics.

By 1980, it became clear that Ada/Ed was not only useful as a prototype translator,but could also serveasa language definition. The article attributes this to the readability and compactness of SETL programs in general, and the fact that SETL made possibble the use of a very abstract run-time model in Ada/Ed. For example, Ada’sEmap (for "environment map") is modelled directly as a SETL map, and each task has a stack of such environment maps.

"Slowisbeautiful" was the slogan used by the authors to keep their attention focussed on semantic correct- ness overefficiencyinthe prototype Ada/Ed. This is very much in the spirit of SETL, and in the spirit of software prototyping.

All in all, the paper is very good and comes as a refreshing reminder that SETL is still an active concern. If the paper reflects current trends, there is a shift in emphasis from SETL itself to the use of SETL in solving real problems.

REFERENCES

[1] United States Department of Defense, Reference Manual for the ADAprogramming Language, Pro- posed Standard Document, July 1980.