Abstract:
I was invited to contribute to the third year "Code Generation and Optimisation" module. Given they were about to use QuickCheck to verify compiler properties in labs, I felt it was worthwhile discussing what it means for a compiler to be correct and how far we should go to confirm this.