Bug squashing at ZuriHac2014

Joachim (nomeata) wants to run a small bugsquashing sprint at ZuriHac 2014.


You should bring some Haskell experience and be confident reading other people’s Haskell code. You do not need to know all the latest fancy type hackery – GHC itself is written in quite plain Haskell. Some knowledge of git is also useful.

Obviously, you need a machine to work on. The more core it has, the less you’ll have to wait.


If you want to join in, you can come prepared:

  • Read through Newcomers
  • Make sure that you have built GHC once yourself.
  • Your changes need to be validated. So make sure you validated GHC once. I suggest to have a second working copy of GHC that you only use to validate. There is a section explaining how to do this.
  • Fork ghc on github (or otherwise publish a fork of the GHC repo) for easier collaboration during the hackathon.
  • Get an account on this trac.
  • Join #ghc on freenode.
  • (optional, if you plan to stick around) Subscribe to ghc-dev and ghc-tickets mailing lists.

Optional tips

If you have a strong remote machine with lots of cores, you can have the validate tree remotely.

For more convenient validation, especially if the validate repository is remotely, I (Joachim) have a script that waits for a new branch calls validate/foo, then validates it cleanly and either moves it to validated/foo or broken/foo. If you want to set up that as well, fetch the script from my ghc-devscripts repository.

Possible tickets

This is a list of tickets that might be suitable for a hacking sprint, but feel free to look for others (click “All Bugs“ and “All Tasks” on the left). And of course, feel free to extend this list.

Ticket Summary Owner Type Status Priority Milestone
#17 Separate warnings for unused local and top-level bindings feature request closed lowest 8.0.1
#95 GHCi :edit command should jump to the the last error lortabac feature request closed normal
#393 functions without implementations Iceland_jack feature request new normal
#1262 RecursiveDo in Template Haskell mgsloan feature request closed normal
#1388 Newbie help features feature request closed low
#3314 Add compilation date to +RTS --info ak3n feature request closed lowest
#4836 literate markdown not handled correctly by unlit bug new low
#8429 GHC.Base.{breakpoint, breakpointCond} do nothing iand675 feature request new normal
#8613 simplifier ticks exhausted bug closed normal
#8959 GHCi should honour UnicodeSyntax bug closed low 8.0.1
#9086 main :: IO Int does different things with runghc and when compiled gintas bug closed highest 7.10.1
#9095 make sdist picks up test files thomie bug closed low 8.2.1
#9122 Make Lint check for bad uses of `unsafeCoerce` qnikst bug closed normal 8.0.1
#9127 Don't warn about pattern-bindings of the form `let !_ = rhs` bug closed normal
#9132 takeWhile&C. still not fusible skeuchel bug closed normal 7.10.1
#9136 Constant folding in Core could be better bug closed normal 8.6.1
#9156 Duplicate record field gintas bug closed low
#9177 Suggest Int when user uses int nomeata feature request closed normal 7.10.1
#9178 improve orphan instance warning task closed normal


Last modified 6 years ago Last modified on Jun 9, 2014 6:40:32 AM