Programming Language Theory

Finding a path to enlightenment in Programming Language Theory can be a tough one, particularly for programming practitioners who didn’t learn it at school. This resource is here to help. Please feel free to ping me or send pull requests if you have ideas for improvement.

Note that I’ve attempted to order the books in order of most “tackleable”. So the idea is to read books from top to bottom. As always, it depends on your background and inclinations. It would be nice to provide multiple paths through this material for folks with different backgrounds and even folks with different goals. However, for now, it is what it is.

Mathematical Literacy

Algebra

A Computational Introduction to Number Theory and Algebra — Victor Shoup

Advanced Modern Algebra — Joseph J. Rotman pdf

A Survey of Modern Algebra — Birkhoff and MacLane Scribd

Type Theory

For a quick course in Type Theory, Philip Wadler recommends: Types and Programming Languages, Proofs and Types, followed by Advanced Topics in Types and Programming Languages.

Books

Papers

Videos

Subtopics

Programming Languages

Books

DCPL - Design Concepts in Programming Languages – Franklyn Turbak and David Gifford, 2008

CTM - Concepts, Techniques and Models of Computer Programming, Peter Van Roy and Seif Haridi

EOPL - Essentials of Programming Languages, 3rd Edition - Daniel P. Friedman

PLAI-2nd - Programming Languages: Application and Interpretation - Shriram Krishnamurthi course with videos PLAI-1st

PAIP Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp - Peter Norvig, 1992

PLP Programming Language Pragmatics - Michael L. Scott

Papers

An argument against call/cc — Oleg Kiselyov

Compiler Construction

Books

Papers

Videos

Stanford - Compilers - Alex Aiken

Runtime systems

Books

The Garbage Collection Handbook, The Art of Automatic Memory Management — Richard Jones, Antony Hosking, Eliot Moss, 2011.

Papers

Functional Programming

Books

Papers

Videos

Category Theory

Philip Wadler’s advice here is “read Pierce for motivation, Mac Lane for the presentation of the maths”.

Books

Journals

TAC - Theory and Applications of Categories

Subtopics

Other collections