On 12/11/12 8:58 AM, Janek S. wrote:
Dear list,
I would like to learn about internals of GHC and contribute to its development in the future. I read a couple of papers that give a very general overview of GHC (chapter from AoS, papers about inliner and multicore support) and I'm thinking what direction should I pursue now. I was thinking about:
a) getting GHC sources, reading the commentary on the GHC wiki and hacking the code b) reading SPJs "Implementing Functional Languages: a tutorial" c) reading SPJs "The Implementation Of Functional Languages" book
I would definitely go for a), but I don't know if I'll manage to understand the code without knowing how functional languages are compiled. I have a rather basic knowledge of compilers in general - I took Stanford's online course on Compilers at Coursera. Should I get more theoretical knowledge? Any advice is greatly appreciated.
One bit of advice is to sign up for the <glasgow-haskell-users@haskell.org> list. That's a better place to get information about GHC internals than the cafe is. Other than that, it's hard to say. What part of the compiler are you (most) interested in hacking on? The type system? The compilation down to C-- and LLVM? The concurrency and parallelism? Debugging, testing, and fuzzing? ... -- Live well, ~wren