http://cs.brown.edu/~sk/Publications/Books/ProgLangs/