Drastic Prelude changes imminent

Herbert Valerio Riedel hvr at gnu.org
Tue Feb 3 16:29:46 UTC 2015

On 2015-02-03 at 16:45:22 +0100, Michael Snoyman wrote:


> * I have many other complaints about the standard Prelude: partial
> functions like `head` and lazy I/O being a recommended default being
> primary in that list.

I think most of us are unsatisfied with the current status quo, which is
why the BBP manifesto got so much attention (of which the FTP is just
one of the laundry-list items).  But we have to start somewhere and
rather incrementally, like e.g. low-hanging fruits such as the FTP,
before addressing the more complicated items on that manifesto.

> * I've personally moved on from the default Prelude and regularly use
> alternate preludes in my own code (classy-prelude being the most common
> example, but others existing too). I'm not the only person who does this,
> and it solves a lot of the problems.

So basically you don't have any stake in the default Prelude anymore? ;)

More seriously, there's one downside to the proliferation of alternate
Preludes I'm worried about: While they allow for easy experimentation
(which is great but hardly useful to base production code on), they also
fragment the Haskell-language, as each alternate Prelude is actually a
different dialect of Haskell.

Having a common Prelude providing the common vocabulary that allows all
sub-cultures to co-exist while balancing all/most needs helps keeping
the language united. The more the default Prelude fails to satisfy its
job of keeping up with the times, the less incentive there is not to
resort to create alternative Preludes and suffer from Haskell's
version of the Tower-of-Babel.

So when in future scenario like that you talk about "Haskell", you'll
have to specify which prelude-version of Haskell you mean, and also make
sure you pick the respective literature that covers that specific
prelude-dialect. And each dialect can potentially lock you into
different sub-ecosystem of packages. I'm aware this is extrapolating
quite a bit, and it doesn't necessarily have to come to such extremes.


More information about the Libraries mailing list