|Version 50 (modified by simonmar, 8 years ago) (diff)|
Welcome to the GHC Developer Wiki
This is the home for GHC developers, one place for all the resources related to developing GHC. If you're only interested in using GHC, then you probably want The GHC home page instead.
Please help us improve the information here. You can easily do this by editing the wiki directly. Just log in as user guest with password guest. The "Help/Guide" link at the top of every page gives a good description of the markup language etc.
For a complete list of local wiki pages, see TitleIndex.
Would you like a job working on GHC? (NOTE: deadline for applications is Friday 23 June)
We're looking for comments on the possibility of organising a GHC Hackathon around ICFP this year.
Release cycle status
- 6.4.2 has been released. It looks like there will be a 6.4.3, see the list of outstanding bugs below.
- Development continues on the darcs repository, which will shortly be branched for the 6.6 release.
- Download snapshots here. This link also gets you to a typeset user manual for the current snapshot.
The bug tracker
Our source code is kept in a collection of darcs repositories.
We recently transitioned from using CVS as our revision control system to darcs. The darcs repositories have full history, but in case you need to look at the CVS trees:
How to get started with hacking on GHC:
- Pick an easy bug report or task to work on
- Grab the latest sources
- Set up your build tree
- Useful information about GHC's architecture is in the commentary
- Hack away... ask questions on the cvs-ghc mailing list
- Submit patches back, using darcs send is the recommended way.
GHC developers hang out on the cvs-ghc mailing list. This list also receives the following:
- checkins on the main ghc repository
- patches sent by darcs send
- nightly build reports
The traffic level varies quite a bit depending on how much activity there is.
- The Building Guide: Information on how to build GHC from sources and port GHC to a new platform.
- DebuggingGhcCrashes: how to use gdb to debug a crash in GHC-compiled code.
- AddingNewPrimitiveOperations: How to add new primitive operations to GHC Haskell.
- The GHC Commentary: Information on the internals of GHC, in various states of up-to-dateness.
- GhcPapers: papers and pointers to other documents that relate to the inner workings of GHC.
- Platforms which platforms GHC currently supports.
- GarbageCollectorNotes Notes about GHC's existing single threaded garbage collector and development of a parallel GC.
- ModuleDependencies: A listing of the dependencies between modules of the compiler.
- BeginnersNotes: Some notes about getting started hacking GHC and the structure of the compiler (especially types and typecheck)
- BackEndNotes: Some ideas and notes about the back end.