Prelude not in haskell98?

Stefan O'Rear stefanor at cox.net
Tue Jun 5 19:50:11 EDT 2007


On Wed, Jun 06, 2007 at 12:39:20AM +0100, Ian Lynagh wrote:
> On Tue, Jun 05, 2007 at 11:23:57PM +0100, Neil Mitchell wrote:
> > 
> > >All this seems to indicate that the Prelude is not a part of the
> > >"haskell98" package.  Is this the case, and if so, is this
> > >intentional?  It would be nice if we could create Cabal packages that
> > >explicitly indicate that the library depends only on Haskell 98
> > >libraries.
> > 
> > Its true, and its intentional. The trend nowadays is to make programs
> > depend only on base, not only on haskell98 - i.e. import
> > System.Environment (and others) instead of System. hakell98 will be
> > around forever, but base is the new "standard libraries" set.
> 
> Right, the problem is that if Prelude was in haskell98 then it wouldn't
> be possible to have a program that /didn't/ depend on haskell98 (short
> of -fno-implicit-prelude extensions, or having a Prelude in both (which
> would mean you couldn't depend on both base and haskell98)).

There's also a pragmatic reason.  Currently it is impossible to have a
cycle of module imports cross package boundaries; so if the Prelude was
in haskell98, then (since the Prelude depends on non-haskell98 base
modules for its implementation) *Nothing* in base could use the prelude.

Stefan


More information about the Glasgow-haskell-users mailing list