Course Readings
Textbooks
[Win] |
The Formal Semantics of Programming Languages -- An Introduction,
by Glynn Winskel.
The MIT Press, 1993 (Second printing: 1994).
|
[Bru] |
Foundations of Object-Oriented Languages.
by Kim B. Bruce.
MIT Press, 2002.
(Available on-line to UI students) |
[Har] | Practical Foundations for Programming Languages, by Robert Harper. Working draft, 2006. |
[Pie] |
Types and Programming Languages.
by Benjamin Pierce.
MIT Press, 2002.
(Available on-line to UI students) |
Additional Readings
Articles and Class Notes
[Car95] |
Type Systems,
by Luca Cardelli, The Computer Science and Engineering Handbook. CRC Press, 1997.
(Preprint)
|
[Nec05] |
Introduction to Axiomatic Semantics,
by George Necula, University of California at Berkeley.
|
[Pie95] |
Foundational Calculi for Programming Languages,
by Benjamin Pierce, The Computer Science and Engineering Handbook. CRC Press, 1997.
(Preprint)
|
Examples
- The Ocaml examples seen in class.
- An Ocaml implementation of IMP's operational semantics.
- Some more OCaml examples by Scott Smitt.
Recommended References
[Aab] |
Introduction to Programming Languages,
by Anthony A. Aaby, Walla Walla College.
Nice (if unfinished) overview of programming languages and programming paradigms. |
[And] |
Misprints and errors
in Glynn Winskel: The Formal Semantics of Programming Languages,
by Nils Andersen, DIKU.
Check them out as you go. |
[Lea] |
Introduction to the literature on semantics,
by Gary Leavens, ISU, 1994.
Good, if a bit dated, overview and bibliography of the literature on programming language semantics. |
Complementary Textbooks
[Fra] |
Introduction to proofs in mathematics,
by James Franklin and Albert Oaoud.
Prentice-Hall, 1988.
(On reserve in the Math Library) An introductory text on how to develop and write mathematical proofs. |
[Gor] |
The denotational description of programming languages : an introduction,
by Michael Gordon.
Springer-Verlag, 1979.
Informal introduction to the main concepts of denotational semantics. |
[Gun] |
Semantics of programming languages : structures and techniques
by Carl Gunter.
MIT Press, 1992.
(On reserve in the Math Library) |
[Hen] |
The semantics of programming languages,
by Matthew Hennessy.
Wiley, 1990.
Operational and denotational semantics. Part of the book is available online in ps format. |
[Mey] | Introduction to the theory of programming languages, by Bertrand Meyer. Prentice Hall, 1990. |
[Nis] |
Introductory Logic & Sets for Computer Scientists
by Nimal Nissanke.
Addison-Wesley, 1999.
(On reserve in the Math Library) |
[Slo] |
Formal syntax and semantics of programming languages:
a laboratory based approach,
by Kenneth Slonneger and Bayy Kurtz.
Addison-Wesley Pub. Co., 1995.
Operational, denotational, axiomatic and algebraic approaches. |
[Ten] |
Semantics of programming languages,
by R. D. Tennent.
Prentice Hall, 1991.
Operational, denotational and axiomatic approaches. |
Miscellaneous
-
A useful list of proof techniques, By Berwin Turlach et al.
-
The Evolution of a Programmer, by anonymous.
-
On the ambiguity of natural language, by anonymous.
-
What The Professor Really Means, by J. Timothy Petersik.
Last Updated: Nov 2, 2006