Notes from Ben's "contribute to ghc" discussion

Jakub Zalewski jakzale at
Sun Sep 25 14:09:23 UTC 2016

Hi all,
I agree with Elliot that the idea of a mentor is really cool, but may not
be feasible at the moment. While the "on-demand" support (irc, reddit) from
the community is great, I believe that a potential new contributor should
be able to go as far as possible on their own because:
- newcomers may be hesitant to ask dumb questions about GHC (I know I was).
- newcomers may get turned away as the task will seems more complicated
that it is.
- the number of people working full-time on GHC is low.

For that, there needs to be a single and accessible place, where newcomers
can go and learn about ghc internals, the overall process, and what should
the do next to contribute.

Currently, there is wiki on trac, which is sometimes correct, sometimes
outdated, sometimes slightly chaotic, and sometimes difficult to use. In
addition to wiki, every member in the community is actively encouraged to
try out new features in ghc and blog about their experience, which works
perfectly fine for a tightly knit community, but presents an insurmountable
barrier of entry for newcomers.

I proposed using stack overflow, as they are adding a new feature called
[documentation](, which allows to
maintain a list of examples for a given tag. For instance, there is a stack
overflow documentation for [haskell]( Furthermore, I
believe that most potential newcomers will be familiar with using stack

Next week, I will start cleaning up the wiki, as there are some pages and
guides for newcomers which are out of date and cause unnecessary headaches
for people that are unfamiliar with ghc. I will figure out and fill any
missing information regarding checking out the source and I will check if
there are any wiki entries that need to be deduplicated.

Best wishes,

On Sun, 25 Sep 2016 at 20:47, Elliot Cameron <eacameron at> wrote:

> Oh how the chatroom hath slain its thousands, and email its ten thousands!
> Flattening real, hard-working, deep-thinking people into a few paragraphs
> of letters does such injustice to propinquity that it's a wonder it ever
> works at all!
> It's for that very reason I want to voice my approval of the idea of
> mentors. The thing that IRC cannot give you is a (real) name and a real
> face. The true fabric underlying any process or system is the people that
> make it happen. If the relationships of the people are broken, no virtual
> system will ever be able to recover the loss. I can't help but believe that
> the best way to improve the community of contributors is to improve the
> relationships of the people in it. Therefore, having a process of providing
> mentorship could be the most effective way to address the myriad technical
> difficulties of contributing to GHC. Love covers a multitude of wrongs. A
> friendly helper could easily make up for the technical infelicities or
> inexperience. In the long term, the improved strength of community could
> begin to address any technical issues as well.
> That said, I am not sure if mentorship is a burden the current "in-crowd"
> would be able to bear. But even with minimal hand-holding the improvement
> to propinquity could have significant effect.
> Lastly, as one who is building his business, in part, on the advantage of
> Haskell, I want to express my deep gratitude to both sides of the debate.
> Chris, your efforts to improve the "on-boarding" process are truly
> herculean and a massive investment to the community. Thank you! Matthew,
> and other core devs, your hard work and world-class insight make Haskell
> the technology that it is today and I cannot thank you enough.
> Elliot Cameron
> On Sun, Sep 25, 2016 at 4:35 AM, Matthew Pickering <
> matthewtpickering at> wrote:
>> If we loop this discussion back to the original post. There is a
>> suggestion in there which seems to be what you are looking for.
>> >  Have a GHC StackOverflow on   (Jacob Zalewski
>> jakzale at offers to do this! – thank you).  It has a useful new
>> Documentation feature.   Eg this would be good for “how do I look up a
>> RdrName to get a Name… there seem to be six different functions that do
>> that”.
>> It is also probably lost that I said there was a phabricator module
>> 'ponder' which gives this kind of functionality so it should be quick
>> and easy to setup.
>> Matt
>> On Sun, Sep 25, 2016 at 9:23 AM, Harendra Kumar
>> <harendra.kumar at> wrote:
>> >
>> >
>> > On 25 September 2016 at 12:48, Joachim Breitner <
>> mail at>
>> > wrote:
>> >>
>> >> Hi,
>> >>
>> >> > It will be great to have something like that. Something that you
>> >> > figure out digging at ghc trac wiki pages, mailing lists, google
>> >> > search etc will be a few minutes job for a mentor. It may be a bit
>> >> > taxing on the mentors but they can limit how many newbies they are
>> >> > mentoring and also breed new mentors to keep the cycle going.
>> >>
>> >> I hope and assume that already now that every possible contributor who
>> >> has questions like this and asks (e.g. on irc) will get a helpful
>> >> answer. Is that insufficient?
>> >
>> >
>> > Maybe. Though irc seems to be quite popular among Haskell community and
>> > other open source communities I have never been able to utilize it
>> somehow.
>> > I don't know if there is something wrong with it or with me. I
>> installed an
>> > irc client logged into it once or twice but never got hooked to it. Such
>> > questions on ghc-devs maybe a nuisance for a lot of other people or at
>> least
>> > that's what I felt as a newbie. I usually tend to do a lot of homework
>> > before sending a question to ghc-devs. Maybe a ghc-newbies like mailing
>> list
>> > (one more list!) can give the impression of a lower barrier for sending
>> > stupid or operational questions.
>> >
>> > -harendra
>> >
>> > _______________________________________________
>> > ghc-devs mailing list
>> > ghc-devs at
>> >
>> >
>> _______________________________________________
>> ghc-devs mailing list
>> ghc-devs at
> _______________________________________________
> ghc-devs mailing list
> ghc-devs at
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the ghc-devs mailing list