base package

* Simon Peyton-Jones <simonpj at microsoft.com> [2013-02-23 10:27:46+0000]
> I believe that the driving goal is:
>> * to allow changes to internals without forcing a version-bump
> on 'base', on which every package depends
This is a good goal.
Another goal could be to make the packages more meaningful.
I think this goal is good by itself (judging from common engineering
principles), and also would make it easier to share the code between
different implementations. (Right now JHC has its own version of many
base modules, because it cannot reuse base.)
What is common between the following modules?
Control.Applicative
Control.Concurrent
Data.Foldable
Data.STRef
Foreign.C
GHC.Exts
System.Environment
Text.ParserCombinators.ReadP
If we ignore for a second historical incidents and tricky
inter-dependencies, I think we'd all agree that by today's standard
they all logically belong to different packages. In other words, if
they didn't exist today, and a package came out that contained two or
more of the above modules, it would look really strange.
Roman