Split ghc-boot so we have better dependency hygiene
At the moment, template-haskell transitively depends on bytestring. This means that any package which depends on template-haskell has its bytestring version pinned to the version that was shipped with GHC. Which is lame, because template-haskell doesn't actually use bytestring in any interesting way.
This is bad, we should split ghc-boot into two pieces, one which has the binary package database bits, and another which contains the Template Haskell bits, so we can have better dependency hygiene.
We should also have a comment on template-haskell mentioning the importance of dependency hygiene, so this doesn't happen again.
Trac metadata
| Trac field | Value |
|---|---|
| Version | 8.0.1 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | high |
| Resolution | Unresolved |
| Component | Core Libraries |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | RyanGlScott, bgamari, ekmett, hvr |
| Operating system | |
| Architecture |