Programming Languages - Lee, Kent (Springer US, 2008)