Research paper and presentation for CSCI 3155 Principles of Programming Languages