Programming language theory, type systems, and language design.
Solutions and notes for the first ten exercises of SICP chapter 1.