Books and background reading: Difference between revisions
Jump to navigation
Jump to search
(Created page with "{{Proglan}} ==Reading list== The course explores many of the same themes that are covered in : Friedman, Wand and Haynes, ''[http://www.eopl3.com Essentials of Programming...") |
No edit summary |
||
Line 7: | Line 7: | ||
(The second edition is also useful, but the third edition is better.) | (The second edition is also useful, but the third edition is better.) | ||
However, that book contains interpreters written in [[Scheme vs Haskell | However, that book contains interpreters written in [[Scheme vs Haskell|Scheme]], and we will | ||
use [[Haskell vs Scheme | use [[Haskell vs Scheme|Haskell]]. | ||
Full notes for the course are provided as part of the [[ | Full notes for the course are provided as part of the [[course outline]]. | ||
==Background Reading== | ==Background Reading== |
Latest revision as of 08:00, 7 October 2020
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.