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.
|CC||RyanGlScott, bgamari, ekmett, hvr|