Lecture notes on the GHC compiler