wiki:WorkingConventions

Version 70 (modified by simonpj, 16 months ago) (diff)

--

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.

  • 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.
  • Read the building guide (link always in the left hand margin) to learn how to build and test GHC.

The following pages guide you step-by-step through making a contribution:

  • Fix a bug in GHC. You can see all open bugs by clicking on "All bugs" in the left margin of this page. At the top of the list is a filter you can use to refine your search. Also check out the (currently stalled) GHC bug sweep. Perhaps you can un-stall it.
  • Add a new feature to GHC. You can see all open feature requests by clicking on "All bugs" in the left margin of this page. At the top of the list is a filter you can use to refine your search.

Working conventions

  • 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.
  • Licensing: 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.

Old stuff

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