base package (Was: GHC 7.8 release?)

Felipe Almeida Lessa felipe.lessa at
Wed Feb 13 20:16:38 CET 2013

On Wed, Feb 13, 2013 at 4:32 PM, Joachim Breitner
<mail at> wrote:
>> No. But there are currently no packages that depend on both base and io,
>> and anyone adding a dependency on io would remove the base dependency at
>> the same time.
> hmm, that reminds me of how haskell98 was handled, and it was slightly
> annoying when haskell98 and base eventually were made to conflict, and
> we had to patch some unmaintained packages.
> Ok, in this case io would be introduced with the intention of being used
> exclusive from base. So as long as we make sure that the set of modules
> exported by base is always the union of all modules provided by package
> that have any module in common with base this would be fine.
> (Why this condition? Imagine io adding IO.GreatModule without base also
> providing the module. Then a program that still uses base cannot use
> IO.GreatModule without fixing the dependencies _now_ (or using package
> imports everywhere). It would be nice if library authors allowed to do
> the change whenever convenient.)

There should also be a condition stating that base should only
re-export modules, and that those re-exports need to have the same
name on another package.  This condition guarantees that the only
thing you need to change is the import list, and even this change
could be (at least partially) automated via a tool take took all your
imports and decided which new packages export them.


More information about the Glasgow-haskell-users mailing list