I'm interested in learning more about how Haskell compiles down to native code. I understand that Haskell is statically typechecked, which is why you might not want to do this. But is it possible?
This thesis about compiling a lazy functional language JIT might interest you: https://dl.dropboxusercontent.com/u/3265448/schilling.thesis.final.2014-01-20.pdf
Another two resources that might help on your quest:
http://www.dcc.fc.up.pt/~pbv/aulas/linguagens/peytonjones92implementing.pdf
http://research.microsoft.com/en-us/um/people/simonpj/Papers/pj-lester-book/