notes on haskell compilers