
Bulat Ziganshin wrote:
"lower down" - ok, but not in base if possible. base can't be upgraded without upgrading ghc and anything contained here is almost dead for timely improvements
Is it time to take Prelude and many classes out of base so they can be upgraded too, maybe a 'prelude', maybe a 'base-classes' package? Of course naming will be difficult and once base has shrunk enough, maybe it should be called something other than "base" then, although that's not necessary. Arguing for Prelude is if something in the library needs to be fixed up for Haskell-prime compliance sometime (the only change that seems likely to happen to Prelude!). On the other hand many of the standard classes and instances are currently defined in a way that is tangled amongst the un-upgradable code, so problems with those standard instances (like http://hackage.haskell.org/trac/ghc/ticket/1579 maybe) might not actually be fixable anyway without more-extensive refactoring work. Also arguing against taking Prelude out of base is if base is supposed to support some compilers that can't handle Prelude not being available! Packages consisting of only classes are mostly good, but they require the types they refer to and default implementations. Not much of a problem - class-default implementations probably shouldn't be too complicated. Isaac