Version 60 (modified by guest, 10 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.


  • We will be running a Hackathon just before ICFP 2006 in Portland, oregon.
  • Internships at Microsoft Research, Cambridge, working on Haskell and GHC

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.

Downloading snapshots

  • Download snapshots here. This link also gets you to a typeset user manual for the current snapshot.

The bug tracker

The Code

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:

Getting Started

How to get started with hacking on GHC:

Mailing lists

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.

Checkins for packages are reported on the cvs-libraries mailing list. To get mail from all the cvs-* lists, subscribe to the cvs-all mailing list (but don't post there, please).

Developer Documentation

  • 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.
  • Replacing GMP: Notes from an effort to replace GMP with another Bignum library.
  • TypeFunctions: Notes concerning the implementation of type functions and associated types in the FC branch of GHC.
  • IntermediateTypes: Notes about the type system of GHC's new intermediate language, in the FC branch