
Duncan Coutts wrote:
This would be bad. Of course there must be some core libraries that have to be shipped with the compiler. Cabal and anything that cabal needs to run is definitely a must-have.
Sadly this may be rather expansive. Building software is not a simple task. If we include cabal-get too then that pulls in networking, http, and if we want to do security properly a bit of crypto too.
While I'm happy to see this discussion (the base inflation has been a hobby horse of mine for some time now), I think that the important issue is the definition of the packages, not bundling and unbundling with the compiler. As I see it, this comes down to whether you want cathedral or bazaar-style development: When a library comes as a separate package, it is easy to download the current development version with darcs, install it in place of the default compiler version with cabal, and tinker away. If it is part of base (or any other huge, catch-all package), things get more complicated and it is simpler to wait for the next release ex cathedra. For instance, I used to follow FPS regularly, and played with it a bit, (e.g., I implemented support for non-latin 8-bit charsets). After it got incorporated in base, I instead just whine and wait, even for simple stuff like interface issues that I could easily fix myself. This is not to say that the cathedral model is necessarily a bad one, but it seems a shame that with tools that seem so ideal for bazaar-style development, users are reduced from participants to consumers. -k