
It is interesting that cabal does not (try to) install happy as a prerequisite for haskell-src-exts, which lists happy as a Build-Tools dependency [2]. It is also interesting that `cabal install happy` requires itself, despite indication in the documentation [3] that it is a valid way to install the package...
Does this indicate that Cabal expects Haskell Platform?
No, installing build tools is just a missing feature of `cabal-install` (AFAIK).
Should Cabal be changed to (support minimal installations and) manage Build-Tools dependencies?
Yes.
Would it be worthwhile to create a "Minimal Haskell Platform" to create a truly common platform that everybody would be happy using?
I think most Haskell developers use a reasonably recent version of GHC (that would currently still be 7.6.3 for me) and the latest version of cabal-install. Everything else can be installed with cabal-install. So yes, I think we should just have an easy way to get that minimal setup (+ most importantly don't recommend something to beginners that we don't use ourself). Where would something like the HP actually make sense? For stuff that has external dependencies that are not easily installable with cabal-install (like curses bindings, SSL support, etc.). We have none of this in the HP. So I think currently we just have additional costs, but no benefits (+ we harm innovation by arbitrarily "endorsing" random packages). Cheers, Simon