Why the Prelude must die
Simon Marlow
simonmarhaskell at gmail.com
Wed Mar 28 05:52:03 EDT 2007
I support both reducing the prelude to just a few commonly used combinators, and
requiring an explicit import Prelude. In response to a couple of Stefan's points:
Stefan O'Rear wrote:
> 6. Dependency
>
> Because every module imports the Prelude every module that the Prelude
> depends on, mutually depends with the Prelude. This creates huge
> dependency groups and general nightmares for library maintainers.
Not a problem in practice, for GHC at least: all modules below the Prelude use
-fno-implicit-prelude, there's no recursive dependency. Also, if the Prelude
were smaller, it would be much lower in the dependency tree which would make
life easier.
> 7. Monolithicity
>
> Every module the Prelude uses MUST be in base. Even if packages could
> be mutually recursive, it would be very difficult to upgrade any of
> the Prelude's codependents.
Not necessarily - the Prelude itself doesn't have to be in base. If we split up
base, then Prelude would likely have to be in a separate package. Haskell' will
need a separate Prelude, so the Haskell 98 Prelude will need to move to the
haskell98 package.
Cheers,
Simon
More information about the Libraries
mailing list