Implementing a JIT Compiled Language with Haskell and LLVM