UP | HOME

PLAI

Table of Contents

Description

Programming Languages: Application and Interpretation (PLAI), 2nd edition, by Shriram Krishnamurthi. A textbook on the design and implementation of programming languages, structured as an iterative conversation building interpreters of increasing complexity.

  • Author: Shriram Krishnamurthi (Brown University)
  • Edition: Second (the edition used in Advprog)
  • Implementation language: plai-typed, a statically typed dialect of Racket
  • Advprog substitution: Common Lisp (via tolk)
  • Online: cs.brown.edu/courses/cs173/2012/book/

Chapter Coverage in This Wiki

Chapter Title Status
1 Introduction ingested
2 Everything About Parsing ingested
3 A First Look at Interpretation ingested
4 A First Taste of Desugaring not yet
5 Adding Functions not yet
6 From Substitution to Environments not yet

Key Concepts Introduced

Chapter Key concept
1 define-type, type-case, test; active reading
2 Bicameral parsing; s-expressions; ArithC
3 Recursive interpreter; template method; semantics
4 Desugaring (surface language → core language)
5 Functions; substitution
6 Environments; closures

Relationship to Tolk / Advprog

Advprog loosely follows PLAI but uses Common Lisp. The key correspondences:

PLAI concept Tolk / CL equivalent
define-type defclass hierarchy
type-case ematch / defmethod-bind
plai-typed Common Lisp type system
test fiveam

Sources

Related

In This Cluster

Page Summary
PLAI Ch.1 Introduction and plai-typed language
PLAI Ch.2 Parsing and s-expressions
PLAI Ch.3 First interpreter