How to start with GHC development?

Jan Stolarek jan.stolarek at p.lodz.pl
Fri Dec 14 17:11:42 CET 2012


Dnia piątek, 14 grudnia 2012, Simon Peyton-Jones napisał:
> This thread has made it clear that we should do more to help people find a
> "way in" to GHC.  
Thanks for taking intrest in our efforts Simon :)

After three days of reading through the wiki I came up with some conclusions. The thing that seems 
to be most difficult for me is that wiki has a tree structure: every page links to many other 
pages. For an unexperienced person it is hard to prioritize information. What do I need to know 
first and what can be left out for later? It would be good if this knowledge was somehow 
linearized. I found Hackathon lectures to be slightly helpful. Low quality of sound and video 
makes it difficult to learn from these particular videos but I think the idea itself is great. 
Perhaps it would be possible to create some introductory videos & presentations that would 
introduce GHC's build system and architecture? I know this would be a lot of effort but perhaps 
it would pay off? I'm thinking something like Coursera class. I would love to see such a thing!

Another thing I found difficult is that wiki gives different information on getting the sources. 
This page: http://hackage.haskell.org/trac/ghc/wiki/Building/GettingTheSources gives one set of 
commands one has to issue to check out the source code, but this page: 
http://hackage.haskell.org/trac/ghc/wiki/WorkingConventions/Git gives a different set of 
instructions. For a person that does not know the structure of repositories and the build system 
itself this is confusing. I think that at this point people expect - at least I expected - a list 
of commands to run in order to get the sources. Having two different possibilities is confusing 
as one needs to figure out what these commands actually do. With my current knowledge - or lack 
of thereof - I'm unable to correct this on the wiki

> *         Started a GHC Reading List
> page<http://hackage.haskell.org/trac/ghc/wiki/ReadingList>, giving
> background reading.  It's just a start; there are many gaps. I would love
> it if you would all help fill it out.  It's a wiki.
I read some of the listed papers and while they definitely gave me a nice overview of the compiler 
I still feel a bit helpless when faced with the actual code. Simon, you listed your books 
in "General background" section. I don't doubt they are interesting (I only started reading fisrt 
of the books) and if one wants to impement functional languages they are a must. But they are 
over 700 pages in total - is reading them an optimal way of getting into GHC development? Well, 
if the answer is 'yes' then I'm off to reading, but perhaps there are easier approaches?
Anyway, it's a great idea to have a list of papers and books about architecture of GHC, so I'm 
going to fill out DPH section. BTW. GpH page has a nicely prepared list of papers - GHC deserves 
the same.

To sum up: I think that wiki has almost all the knowledge needed to get started, but that 
knowledge has to be presented to the beginners in a form of some tutorial, presentations or 
anything that is linear and guides people by hand.

I hope that was constructive.

Janek

>
>
> *         Amplified the Working on
> GHC<http://hackage.haskell.org/trac/ghc/wiki/WorkingConventions> page. 
> Again, please help make it more useful.  It's a wiki.
>
> What else would help?   If the answer is X, can anyone help do X?
>
> Thanks
>
> Simon
>
>
> From: glasgow-haskell-users-bounces at haskell.org
> [mailto:glasgow-haskell-users-bounces at haskell.org] On Behalf Of Chris
> Nicholls Sent: 13 December 2012 12:00
> To: Jan Stolarek
> Cc: GHC Users List
> Subject: Re: How to start with GHC development?
>
> > And this is where I'm a little stuck too. I have a reasonably good
> > picture of GHC's pipeline, having worked on it for my master's thesis,
> > and I'd like to get more involved and possibly even contribute something
> > useful. But I'm not sure where to start.
>
> Well, that's a bit discouraging - if you worked on it in master's thesis
> and still don't know where to start then it this is probably even harder
> than I suspected.
>
> Sorry! That wasn't what I intended. I meant more that I have a reasonably,
> good idea of  *how* to work on ghc but not much of idea of *what* I can
> usefully do.  The work in my thesis turned out not to be that useful, and
> I'm not sure what to do next. It sounds like you've already got some ideas
> there though.
>
> Perhaps I shouldn't have hijacked your question with a 'me too' but I
> suspect there are quite a lot of people who want to contribute, but don't
> really know where to start.
>
> Don't be discouraged, its absolutely possible to get your hands dirty
> without having to understand all the theory and the community is incredibly
> friendly. As for getting an overview of the pipeline, I found the videos of
> the talks the Simons gave at the 2006 Hackathon helpful. Perhaps someone
> with more knowledge than me can comment on how relevant the content is
> after six years?





More information about the Glasgow-haskell-users mailing list