The original reason for the cabal hack that prevented it from trying to reinstall template-haskell is that almost every time someone did this it broke, silently. Then five packages later something would use template haskell, and you'd get completely nonsensical error messages, and someone _else_ would get the bug report. Sure there might have been a scenario in which an expert who is working on ghc may want to reinstall the template-haskell to get a new point release, but TH has never worked across multiple GHC versions, and old versions shipped with very wide bounds.

Now, of course, maintainers and the trustees have the ability to retroactively narrow bounds (and you've already done so for template-haskell), so this view is dated. template-haskell should just be reinstallable like everything else now.

-Edward

On Sun, Mar 22, 2015 at 6:24 AM, Herbert Valerio Riedel <hvr@gnu.org> wrote:
On 2015-03-22 at 11:17:21 +0100, Erik Hesselink wrote:

[...]

> I do this for template-haskell, since it's not possible to reinstall
> but cabal would occasionally try it. I can imagine it would work well
> to prevent the scenario you describe with network.

Why isn't it possible to reinstall TH (unless you also need to depend on
the `ghc` package)? We even explicitly allowed template-haskell to be
reinstallable again in Cabal as there didn't seem any reason to forbid
it anymore (it's no different than e.g. `bytestring` which is
reinstallable as well):

  https://github.com/haskell/cabal/commit/ffd67e5e630766906e6f4c6655c067a79f739150

Cheers,
  hvr
_______________________________________________
ghc-devs mailing list
ghc-devs@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs