Practical Foundations for Programming Languages (original) (raw)
Practical Foundations for Programming Languages (Second Edition) by Robert Harper.
Cambridge University Press, 2016.
From the Preface to the Second Edition:
My purpose in writing this book is to establish a comprehensive framework for formulating and analyzing a broad range of ideas in programming languages. If language design and programming methodology are to advance from a trade-craft to a rigorous discipline, it is essential that we first get the definitions right. Then, and only then, can there be meaningful analysis and consolidation of ideas. My hope is that I have helped to build such a foundation.
Answers and Exercises
Supplementary Materials
- The Structure of an Interpreter.
- Church's λ-Calculus.
- Weakening for Statics.
- Natural and Co-Natural Numbers.
- Equality of T and F.
- PCF By Value.
- PCF By Name.
- Stacks By-Name and By-Value.
- Interpreting By-Name as By-Value.
- Programming with Continuations.
- CPS Transformation.
- Types and Parallelism.
- Relating Transition and Cost Dynamics for Parallel PCF.
- Exceptions: Control and Data.
- Derived Forms for Modernized Algol.
- Automata and Concurrency.
- Concurrent Algol, Modernized.
- Weakening in Statics.
Errors and Commentary
Course Materials
- Principles of Programming Languages. Carnegie Mellon University undergraduate course in programming languages.
- Existential Type Blog. Writings on programming languages, research, and education.
- Notation Guide provided by Toronto CS Reading Group.
Last modified: Mon Nov 1 22:02:30 EDT 2021