Contributing to GHC

The Glasgow Haskell Compiler is one of the linchpins of the Haskell community. It is far and away the most widely used compiler for the language. Its many unique features help make Haskell a special language. It also depends a lot of open source contributions! This means anyone can lend a hand and fix issues. This is a great way to give back to the Haskell community and meet some great people along the way!

Part 1: Setting up our Environment

Before we can start hacking, we need to set up our environment to run GHC. This is an especially arduous process for those of us using Windows machines. So part 1 will focus on installing the necessary dependencies and programs for building GHC on Windows. If you’re using Mac or Linux, don’t worry! There’s still plenty of useful advice here. You’ll just likely have an easier time.

Part 2: Basic Hacking and Organization

Now that we’re set up build GHC locally, we can start learning more about the code itself. In part 2 of this series, we’ll explore the simplest change we can make so we can validate our development cycle. We’ll also learn about the organization of the codebase and what parts we can help with.

Part 3: Hacking Syntax and Parsing

In part 3, we’ll take a deeper look at the GHC source code. We’ll see how we can make simple changes to the language syntax and parsing behavior. This includes adding our own keywords, and making a simple language construct!

Part 4: Real Issues

In this last part, we’ll look at a couple small issues, one with documentation, and one with the actual code. We’ll see how easy it is to submit a pull request on Github to actually make a contribution!