Note for Principles of Programming Languages - ppl by Murali E