Note: The mercurial server is disabled at the moment while I investigate whether it can run with an acceptably low CPU load – Mike.
Books and background reading (Programming Languages)
Jump to navigation
Jump to search
Reading list
The course explores many of the same themes that are covered in
- Friedman, Wand and Haynes, Essentials of Programming Languages, 3rd ed., MIT Press.
(The second edition is also useful, but the third edition is better.) However, that book contains interpreters written in Scheme, and we will use Haskell.
Full notes for the course are provided as part of the course outline.
Background Reading
The following classic articles are all very accessible, and are essential reading for anyone who really wishes to understand what's going on beneath the surface of this course.
- Reynolds (1972), Definitional Interpreters for Higher-Order Programming Languages (PDF).
- Reynolds (1998), Definitional Interpreters Revisited (PDF).
- Wadler (1992), The Essence of Functional Programming (PDF).
- Strachey (1970, pub. 2000), Fundamental Concepts of Programming Languages (PDF).
- Landin (1964), The Mechanical Evaluation of Expressions (PDF).
For convenience, local copies of these papers are provided, but they are accessible only from within the Oxford University domain.