This is not about the more recent effort of splitting up
base, see SplitBase for that
This page is about what needs to be dealt with in GHC (and the
base package) in order for it to support altarnate
base packages (for example, a prototype of Haskell 2's library).
Wired-in types and classes
GHC has a lot of types and classes wired in. Some of them are things we would want to change in an alternate base package; others are okay as they are, except that they probably shouldn't be in the base package.
Things that we wouldn't really want to change, though we'd want to change the classes the types are instances of:
- lists ( and :)
(However, we might want to change the classes these are instances of...)
Things we'd likely want to change, though it wouldn't greatly matter if the old ones could still be found in GHC.*:
- the numeric classes
Monadclasses (i.e. putting fail back in
MonadZero, where it belongs)
Preludemodule (we'd wannt it to use e.g.
See #1537 (closed) (do notation translation); make the obvious extensions to alternate base packages.
The derivings, as they are, clearly wouldn't work too well for changed classes. Not sure what to do about this at all.