
On 2015-09-02 at 10:00:40 +0200, Matthew Pickering wrote:
Surely the easiest way here (including for other tooling - ie haskell-src-exts) is to create a package which just provides this enumeration. GHC, cabal, th, haskell-src-exts and so on then all depend on this package rather than creating their own enumeration.
I'm not sure this is such a good idea having a package many packages depend on if `ghc` is one of them, as this forces every install-plan which ends up involving the ghc package to be pinned to the very same version the `ghc` package was compiled against. This is a general problem affecting packages `ghc` depends upon (and as a side-note starting with GHC 7.10, we were finally able to cut the package-dependency between `ghc` and `Cabal`) Also, Cabal is not GHC specific, and contains a list of known extensions (`KnownExtension`) across multiple Haskell compilers https://github.com/haskell/cabal/blob/master/Cabal/Language/Haskell/Extensio... and I assume the extension enumeration needed for GHC would be tailored to GHC's need and omit extensions not relevant to GHC, as well as include experimental/internal ones not suited for consumption by Cabal.