I'm in the same boat, with just a little less reading. :)

It seems to be that if we want to encourage participation in GHC development, the first step is to lower the barrier of entry.

One way to do that would be to have a page (wiki, perhaps) that has a reading list for learning about GHC. I'd guess that there are a lot of people like Janek and myself who want to contribute, even a little, and just aren't sure about where to start. We're happy to do our homework, but we need some assignments, so to speak.

Another idea is to have a list of open tasks grouped by how difficult they will be and how much knowledge of Haskell and GHC will be required. This is somewhat at odds with the earlier suggestion to have domains in codebase, with separate de facto maintainers for each. However, it would make it easier for others to contribute. I could also see where the domain maintainers could put simpler tasks into a global index. That might mix the best of both.

I'll be happy to start accumulating information for the wiki page. I'm in the middle of drafting a book, however, so it'll be Feb at the earliest before I can really pay significant attention to it.

Best,
Eric



On Tue, Dec 11, 2012 at 8:58 AM, Janek S. <fremenzone@poczta.onet.pl> 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.

Janek

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe