This list overviews the active branches in the main GHC repository.

Active branches

  • master: Primary development branch for GHC HEAD.
  • wip/llf: Late Lambda Lift. Nick Frisby. We lift some lambdas before CorePrep. I'm still determining when to 'not' lift a lambda. My terse notes here.
  • wip/ext-solver: Iavor S. Diatchki. Integrate an extrenal SMT solver with the constrain solver. Mostly for working with type-level naturals at the moment.
  • wip/amp: Applicative/Monad Proposal. Austin Seipp. This implements the AMP, which will be available in GHC 7.10.
  • wip/ermsb: Extended rep-movsb (ERMSB) support for Intel processors. Austin Seipp. Modern Intel processors feature extremely fast (yet simple!) string copy primitives, which are taken advantage of by simply using the existing rep movsb instruction. For many workloads, these copies are competetive with fast AVX-based copies (on my Haswell machine, the difference between the two was indistinguishable). This should result in superior copy performance for Ivy Bridge processors and later, which support the ERMSB addition. This also adds support for -march and -mcpu to the compiler.
  • wip/generics-propeq: Propositional equality for GHC.Generics. Gabor Greif. For interworking of hackage://gdiff with GHC.Generics we need parametrized meta-data types. The idea is to replace GHC.Generics.D1Bool by GHC.Generics.Dat "GHC.Types" "Bool" and GHC.Generics.C1_0Bool (aka. True) by GHC.Generics.Constr "GHC.Types" ("True", 1), and so on. This opens them up to type-level reasoning with KnownSymbol, sameSymbol etc.
  • wip/gadtpm: Pattern Matching Coverage/Exhaustiveness Checker. George Karachalias. Notes (to be updated soon) can be found here and here.

Limbo branches

These branches are not merged, but they are also not totally dead ended, and their status is currently uncertain.

  • coloured-core: Support for terminal color codes in -ddump-simpl output. Thomas Schilling.
  • wip/nested-cpr: Nested CPR. Works, but results where underwhelming. See NestedCPR. Joachim Breitner.
  • wip/cbv-conv-thunk: Opportunistic evaluation of thunks. This is a side-line of wip/nested-cpr: Nested CPR requires a convergence analysis, and it might be worth evaluating them (#7596). Seems to be not as useful as hoped. Joachim Breitner.
  • wip/common-context: Common context transformation which can reduce code size and possibly produce more join points. See NestedCPR. Joachim Breitner.


The actual status of these branches, including whether they have been merged and/or superseded, is not clear.

  • ghc-spj: ???. Simon PJ.
  • wip/exprArity: Contains one patch left over when Joachim merged SPJ’s better-ho-cardinality branch.

Archived branches

This is a list of branches that are not developed and are not suitable for master for some reason, but might prove useful at some other time

Dead/merged branches

This is a list of inactive branches which are dead or have been merged into the tree:

  • late-lam-lift: deprecated llf branch. Please --- someone who can --- delete this branch. It is an old branch that ought to be a wip/ branch but was started before we had that convention. Nick Frisby updated it and push it to wip/llf on 19 August 2014.
Last modified 2 years ago Last modified on Sep 9, 2017 11:42:55 AM