Version 65 (modified by simonmar, 3 years ago) (diff)


Working conventions for working on GHC

GHC is a BSD-licensed open-source project, and we welcome your help in making it better. This page has pointers to information you'll need.

First, make sure you are familiar with GHC's Licensing. Unless you say otherwise, we will assume that if you submit a contribution to GHC, then you intend to supply it to us under the same license as the existing code. However, we do not ask for copyright attribution; you retain copyright on any contributions you make, so feel free to add your copyright to the top of any file in which you make non-trivial changes.

Subscribe to the cvs-ghc mailing list. This list gets an email for every commit that is made, and reports generated by the automated nightly builders, and it is also the place to discuss ongoing development of GHC. The list is high volume, so you probably want to at least filter it into a separate folder/label.

These pages guide you step-by-step through making a contribution:


  • Using Git: Our conventions and some useful tips for using git are here: Using Git.
  • Releases and branches: Our conventions for making releases and how the branches are managed: Releases
  • Testing: all patches that go into GHC must first pass validation, which ensures that a basic build works and the regression test suite passes.
    • The policy on validating patches, and how to perform validation, is at: Testing Patches.
    • Details about the regression test suite, and how to use it are at: Running Tests.

Old stuff

  • Using Darcs: Our conventions and some useful tips for using darcs are here: Using Darcs.