Given all these issues, I consider the only reasonable option is to
discard the Prelude entirely. There will be no magic modules.
Everything will be an ordinary library. HOFs like (.) are available
from Control.Function. List ops come from Data.List. Any general
abstractions can be added in abstract Sequence, Monad, etc. modules.
Haskell will regain the kind of organic evolution whose lack
currently causes Haskell to lose its lead over Python et al by the
day.
I basically agree with a lot of the things you say. The only thing
is: it's so convenient to have the Prelude. I can just start writing
my haskell programs and don't have to worry about all kinds of
imports. And you'll end up being repetitive: you'll import (.) and
stuff like that in _every_ file. Yeah, this will definitely be more
modular, but if we go for it, it's going to be so much more (tedious)
work to create a new program.
-chris
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe