Structure of Programming Languages II
Types, Modules, Classes

Wolfgang Schreiner
315.509, Thu 17'00-18'30, MZ005B

This course is self-contained; it does not depend on the course given in the last semester!

This course describes the fundamental syntactic and semantic features of modern programming languages and their impact on language design. It presents a rational reconstruction of imperative languages such as Pascal, Ada, and Modula-3 and functional languages such as scheme and ML.

Although few programmers ever actually design a programming language, all programmers should understand the structuring techniques that a designer uses. The course presents such a set of techniques and uses them in a reconstruction of existing languagess and in the design of new ones. This lets the programmer see why existing languages are structured as they are and how new languages can be built as variations of standard themes.

The focus of the course rests upon typed programming languages since types play the central role in structuring a language and serve as the basis of modern constructions like modules and classes.

The course follows closely the textbook [Schmidt, 1994] and presents in detail the paper [Cardelli and Wegner, 1985].

Slide copies will be handed out in class; electronic online material will be available on the World Wide Web.

  • Slides and Online Material
  • References

    Id: types.tex,v 1.14 1996/06/13 14:10:50 schreine Exp schreine