Programming Languages: Application and Interpretation

Programming Languages: Application and Interpretation

Programming Languages: Application and Interpretation by Shriram Krishnamurthi can be downloaded in pdf format. The book is the textbook for the programming languages course at Brown University, which is taken primarily by third and fourth year undergraduates and beginning graduate (both MS and PhD) students.


It seems very accessible to smart second year students too, and indeed those are some of my most successful students. The book has been used at over a dozen other universities as a primary or secondary text. The book’s material is worth one undergraduate course worth of credit.
This book is the fruit of a vision for teaching programming languages by integrating the “two cultures” that have evolved in its pedagogy. One culture is based on interpreters, while the other emphasizes a survey of languages. Each approach has significant advantages but also huge drawbacks. The interpreter method writes programs to learn concepts, and has its heart the fundamental belief that by teaching the computer to execute a concept we more thoroughly learn it ourselves.

Table of Contents

  • Modeling Languages
  • Interpreting Arithmetic
  • Substitution
  • An Introduction to Functions
  • Deferring Substitution
  • First-Class Functions
  • Programming with Laziness
  • Implementing Laziness
  • Understanding Recursion
  • Implementing Recursion
  • Representation Choices
  • Church and State
  • Mutable Data Structures
  • Variables
  • Some Problems with Web Programs
  • The Structure of Web Programs
  • More Web Transformation
  • Conversion into Continuation-Passing Style
  • Programming with Continuations
  • Implementing Continuations
  • Automatic Memory Management
  • Shrinking the Language
  • Semantics
  • Types
  • Programming by Searching
  • Domain-Specific Languages and Metaprogramming

Book Details

Author(s): Shriram Krishnamurthi
Format(s): PDF
File size: 1.32 MB
Number of pages: 376
Link: Download.

Leave a Reply