Advanced Topics in Types and Programming Languages
Benjamin C. Pierce
Types and Programming Languages