Foundations of Programming Languages - Lee, Kent D. (Undergraduate Topics in Computer Science, 2017)