What are the prerequisites for contributing to GHC?

Hello, hope all is well.

I want to contribute to GHC and I am wondering what the prerequisites are.

I have worked on simple compilers before in Lisp so I am familiar with compiling imperative features to assembly, x86 but I have not implemented register allocation yet.

I’d like to work on some compiler backend issues. At least this what I would to end up focusing on.
I know some basic haskell.
Any tips will be appreciated. thanks


Hi @manifold93, there are no prerequisites :slight_smile:

Checkout the source from gitlab.haskell.org and start hacking on it. You may find some tickets there as well if you need inspiration on what to work on.

Once you’ve made your change open a pull request.

That’s basically it.


This might be of interest to you:

The Haskell Foundation and the GHC development team are in the process of organizing a three-day workshop on contributing to GHC, to be held at the same venue as Zurihac immediately prior, on 7-9 June. Full details are not yet available, but if you’re interested, please fill out this survey.


Also take a look at: https://ghc.dev/


The issues marked as newcomer are likely to be a good starting point. I spotted some low level issues such as #22933 and #22966.

See the newcomer issues here:

If you get started on one do post questions and comments in the respective issue or MR


Wow, that’s cool. Thank you to Serokell for spearheading that.

Hey @manifold93, just let me know if you have any questions about using GitLab—particularly CI—as you get started. I’m chreekat on IRC and @b:chreekat.net on Matrix.

thanks. I will reach out to you.