On 2015-03-25 at 07:21:48 +0100, Mark Lentczner wrote: [...]
> *The problem is how GHC is released:* It is released as a compiler, and > minimal base libs, and (strangely) with 1/2 of cabal, haddock, ghc-pkg, no > other tools, and no installer. *This is an insufficient set of things for > most users.* > > At minimum it should also have cabal-install, and the libs so many things > are built on: async, mtl, text, parsec, vector, etc..., and also common > tools (like happy, alex, and hscolour). You can argue plus or minus some of > these, the set could be bigger or smaller, ... basically, it should be the > Platform. > We should consider those additional libs as frozen, and tied to the GHC > release, as the base libs - because that will mean those will be the common > versions people will build and test against. And they will update as > frequently as GHC. (If they aren't as stable as all that, or aren't willing > to be part of that release cycle and constraint, then perhaps they > shouldn't be in that set!) > > Yes, I'm arguing that the GHC release and the Platform release should be > one and the same. The vast majority of the pain I think stems from the skew > between these two, and that GHC is not enough. You need something besides > the GHC release. If that something isn't standard, and/or it lags the GHC > release, then all the attendant problems creep in. [...] While I sympathise myself with bundling cabal-install with GHC bindists, as that's been (in my perception) the most requested feature from ghc-bindist users, GHC HQ is trying rather trying strip down the GHC distribution and dropping packages being installed by default whenever possible. E.g. with GHC 7.10.1 we dropped 4 packages (old-locale, old-time, haskell98, and haskell2010) as those don't need to be part of the (installed) GHC distribution. Some other packages (xhtml, haskeline, terminfo) that were recently exposed could be dropped again if we manage to workaround an unexpected DSO issue. We would even be in the position (since GHC 7.10) to drop the `Cabal` package from being installed (if it wasn't for the Cabal spec), as the `ghc` package severed its dependency on `Cabal` with this release.[1] Not tying packages to GHC releases gives more flexibility and less overhead, as we need to synchronise less with upstream maintainers, and more importantly updates to non-bundled packages can happen independently of GHC releases and more frequently. Also, it gives 3rd party packagers more degrees of freedom to select different cross-sections/subsets of Hackage to define as curated snapshot (i.e. LTS, Stackage, HP, Linux distributions, NixOS, ...). Cheers, hvr [1]: http://comments.gmane.org/gmane.comp.lang.haskell.ghc.devel/7571 _______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs