Structure of Prorgramming Languages II
|
|
Wolfgang Schreiner <Wolfgang.Schreiner@risc.uni-linz.ac.at>
http://www.risc.uni-linz.ac.at/courses/ss98/types
315.509, SS 1998 (Start: March 12)
Thu 16'30-18'00, HA 105
Please note that the course takes place in Hagenberg!
Types, Modules, Classes
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.
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.
This course is self-contained; it does not depend on the
course given in the last semester
- David A. Schmidt
-
The Structure of Typed Programming Languages, MIT
Press, Cambridge, MA, 1994.
- Luca Cardelli and Peter Wegner
-
On Understanding Types, Data Abstraction, and Polymorphism,
Computing Surveys, Volume 17, Number 4, pp. 471-522, December 1985.
- Martin Abadi
-
Baby Modula-3 and a Theory of Objects
Journal of Functional Programming, 4(2):249-283, April 1994.
- Luca Cardelli
-
Type systems, pages 2208-2236. CRC Press, 1997.
- On Understanding Types, Data Abstraction, and
Polymorphism (PostScript)
-
A presentation of the landmark paper by Cardelli and Wegner.
- The Programming Language Core (PostScript)
-
The core of a typed imperative programming language, abstract syntax, typing
rules, denotational semantics.
- The Abstraction Principle I
(PostScript)
-
Abstractions, typing rules, semantics, soundness, declarations, lazy and eager
evaluation.
- The Abstraction Principle II
(PostScript)
-
Variable declarations, type structures, declaration abstractions, modules and
classes, record introduction principle, summary.
- The Parameterization and Correspondence Principles
(PostScript)
-
Parameterized abstractions, expression parameters, eager and lazy parameter
evaluation, other parameter forms; semantics of correspondence, lambda
abstraction principle.
- The Qualification Principle
(PostScript)
-
Command blocks, dynamic scoping, escaping locations, other blocks;
object-oriented languages and subtyping.
- Records and Lambda Abstractions
(PostScript)
-
Introduction, higher order languages, lazy and eager evaluation semantics,
orthogonality, categorical models.
Maintained by: Wolfgang Schreiner
Last Modification: May 14, 1998
[Up]
[RISC-Linz] [University]
[Search]