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
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to