Simon Marlow <simonmarhaskell at gmail.com> wrote:
> In 6.6 you can, in theory, upgrade the base package.
This, I think, is the heart of Bulat's complaint: namely, that until
recently it was not possible to upgrade the 'base' package in ghc. All
the other implementations of Haskell do permit the base package to be
upgraded (or downgraded) separately from upgrading the compiler itself.
All of the questions about whether such-and-such a library belongs in
the 'base' package or in some separate package, are questions of policy.
The answers really don't matter quite so much, provided the mechanism
exists to choose to install whatever version of whatever packages you
like.
So can we take all this discussion about contents of the 'base' package
as a bug-report about (older versions of) ghc, rather than a bug-report
about the 'base' package itself?
> However, it's highly unlikely that you'll ever be able to separate
> ForeignPtr from the base library, because of the dependencies:
> ForeignPtr is part of the FFI, the FFI is used by other libraries, etc.
> etc. The dependencies in base are very intertwined, as you well know.
Ah, so how do the other compilers manage it? Answer: Hugs has a
separate package 'hugs-base' with essential but implementation-dependent
things like ForeignPtr in it. (Likewise nhc98/yhc.) The 'base' package
just imports and uses it. If we could separate out a 'ghc-base' package
from 'base', that would be great. (And I think that is one of Bulat's
proposals.)
Regards,
Malcolm