Anatomy of Programming Languages





An undergraduate textbook on programming languages.

Active development Spring 2013





Learn by doing, using Haskell. High-level outline of planned scope:

Expressions & Variables

First-class Functions & Closures

Recursion, Fixed Points, Self-Application

Aspects of Computation: Errors, State, Non-determinism (Monads)

Parsing

Static Analysis, Type Checking

Data Abstraction: Objects and ADTs

Inheritance & Delegation

Domain-Specific Languages

Partial Evaluation

Read the code as you would read poetry.

All code can be executed directly in GHCI.





Three formats:





Source available on GitHub

Comments and collaborators welcome!





William Cook

UT Austin Computer Science







