Work out how to manage labels
Currently ghc/ghc> has nearly 100 labels. These fall into a variety of categories:
- Labels that classify the ticket (~bug, ~"feature request", ~task)
- Labels that classify bugs by their manifestation: compiler perf, compiler crash, ghc build failure
- Labels that specify the environmental conditions under which an issue will manifest:
- Labels that specify which compiler or program features are implicated in a bug
- language extensions: ImpredicativeTypes, StaticPointers, UnboxedTuples
- program constructs: join points, ~"levity polymorphism", STM
- compiler feature: recompilation checking, cpp, debug information, cross-compilation
- Labels that specify which bit of implementation a bug is likely caused by:
- compiler subsystem: driver, simplifier, demand analysis, RTS, LLVM backend
- related GHC project: ghc-pkg, integer-simple, nofib, core libraries, infrastructure
- external project: haddock, hadrian
- Labels that specify other attributes of a ticket: newcomer, ~"backport request", info needed, ~"user facing"
It's not clear which of these are useful, which are just noise, and how we should best group them.
We have two tools for logically grouping labels:
- prefixing the label name with some sort of category string
- color