Principles of Programming Languages Project Assignment 1