|
Programming Languages: Application and Interpretation |
At present count, over 25 universities use part or all of the book, and some ambitious high-schools use select chapters. Users range from major research universities to liberal arts colleges, from public to private universities, and cover four continents.
If you're an educator (teaching at a University, College, High School, Grammar School, Hochschule, Gymnasium, etc.), please let me know!
| Electronic Version | Print Version |
|---|---|
|
You can download the April 26, 2007 Version as a single PDF file (~1.4Mb), free-of-cost. If you prefer, you can also pay to download. No, this is not a joke. You're being given a choice in case you want to reward the author in kind. You lose nothing, however, by opting for the free version: the free PDF really is the entire book, with no strings attached. |
You can buy the book in paperback. |
I recommend using DrScheme version 372. In DrScheme's File menu, select Install .plt File... and paste this URL:
http://www.cs.brown.edu/~sk/Publications/Books/ProgLangs/plai-371.plt
This automatically installs the language levels for the text.
Please re-start DrScheme.
The language levels will be visible from
the Language menu's Choose Language... entry
(or via the language chooser at the bottom-left).
Choose the Restricted PLAI Scheme language level
if you're new to Scheme.
(Installing the software directly from DrScheme is preferable to downloading the file first, because of the way some browsers handle this file type.)
Note: For this software release, there are just two language levels for the book per se. There are two more language levels to support the garbage collection assignment.
Please examine the FAQ. (Perhaps you're wondering why this book isn't published formally?)
If you're here because you want to learn more about programming languages, I suggest taking a look at our new creation, Flapjax.
There will be no new versions until after the Fall 2007 semester (which ends in December).
2007-04-26: (mostly small changes; no significant, high-level modifications) addressed over fifty email messages containing suggestions and corrections revised section on substitution removed some more font problems
2006-01-15: significantly expanded and improved discussion of programming by searching improved discussion of lambda calculus, continuations, state, types introduced first-order functions before higher-order functions removed sections on stack and heap transformations improved language support significantly improved index made several prose improvements fixed some font problems
2004-12-08: (76 new pages of material) significantly improved language support appended final versions of interpreters to each section created initial version of index integrated notes on Programming in Haskell significantly improved and integrated notes on Lambda Calculus expanded discussion of continuations added variable mutation to complement value mutation improved discussion of polymorphism added brief section on Programming Interactive Systems made several local changes, including: - removed colloquialisms and rough prose - fixed typos - added examples
2003-12-19: added course organization details to preface fixed several typos improved font usage appended final versions of interpreters to sections
2003-12-15: first release