Only because I was invited, I tried to understand the ‘Decoupling base and GHC’ thread.
I hesitate to throw more distraction into there, so let me raise the question separately: what is the problem youse are trying to fix? It’s described in such vague terms, and there’s such disparate solutions offered, I’m wondering:
- Has nobody written down specifics because everybody ‘just knows’ what’s wrong?
- Or is all the discussion at cross-purposes, because people have different perceptions/they’re trying to fix different problems?
To begin at the beginning:
The CLC is in a difficult position:
base
is dilapidated, causing harm, yet breaking changes tobase
that make it better also cause harm.
Is base
dilapidated? More dilapidated than it was in 1998 or 2010? What’s changing to cause this dilapidation? I monitor StackOverflow questions. I don’t see any that amount to that sort of complaint.
having the most nimble standard library of them all, and thus the best first impression on new aspiring Haskellers.
New Haskellers will take the standard library as is. Because that’s what corresponds to the Language Report and tutorial materials (except the ‘FTP changes’ rather fouled that up).
Please itemise some specific harms that the current structure of base
is causing. By “itemise” I don’t mean motherhood-and-apple-pie claims like “flexibility” or “modularity”. If you mean:
amazing libraries so GHC can be easily “remixed” for all many of research prototypes. [from the ‘evolution’ thread]
That’s likely to adversely impact new Haskellers: we don’t want to even suggest they tinker with standard libraries – indeed we want them to think very carefully before even creating a class or instance. Again itemise some research prototypes that are hampered by the current base
structure.
(In similar vein, I’d like to see itemised some specific benefits that got delivered by the ‘FTP changes’ – because I haven’t experienced any. Then build on such examples to motivate what you want here.)
I half-agree with @Bodigrim
I believe that
base
is quite good; I believe that even stagnating and limpingbase
is not a problem in an ecosystem, allowing for alternative preludes; I believe that GHC must evolve slower.
What’s wrong with the alternative Prelude
mechanism? I disagree with the “evolve slower” – except is that referring to GHC the compiler/language innovation or to the (base) libraries, which I don’t count as GHC.