Assigment for COMP 3031 Principles of Programming Languages (2013 Fall)