wiki:WorkingConventions

Version 87 (modified by carter, 7 months ago) (diff)

adding link to browser tips

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 ghc-devs mailing list. This list is the place to discuss ongoing development of GHC. ghc-commits gets an email for every commit that is made, and reports generated by the automated nightly builders go to ghc-builds. Additionally, trac ticket discussions can be followed in ghc-tickets. These lists are high volume, so you probably want to at least filter them into separate folders/labels.
  • Register an account on this GHC Trac, so that you can edit pages. Editing advice is in the "Wiki" links in the green sidebar on the left of every page
  • You may want to read the GHC Newcomers page, dedicated to helping newcomers tackle their first bugs.
  • Read the building guide (link always in the left hand margin) to learn how to build and test GHC.
  • To have an easier time looking up tickets and searching trac, use the browser tips page to make your search and lookups for Trac tickets substantially easier.

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.