Prelude not in haskell98?

Simon Marlow simonmarhaskell at
Fri Jun 8 04:42:15 EDT 2007

Iavor Diatchki wrote:
> Hi,
> Just curious, what external modules does the Prelude depend on?
> The only unusual feature that I can think of in the GHC Prelude is the
> fact that the partial functions throw exceptions, and so perhaps the
> Prelude implementation uses some extra modules for that?

I'm not really sure what you mean by "external modules".  In GHC the Prelude is 
comprised almost entirely of re-exports from other modules.  You can follow the 
source code links from the Haddock docs to take a look:

One big dependency is that the Prelude exports some I/O functionality, so it 
pulls in the entire I/O library.


> -Iavor
> On 6/6/07, Simon Marlow <simonmarhaskell at> wrote:
>> Isaac Dupree wrote:
>> > Hash: SHA1
>> >
>> > Stefan O'Rear wrote:
>> >>> 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.
>> >
>> > (Assuming haskell98 depends on base currently)  It seems we would want
>> > haskell98 to re-export base's Prelude.  It's just that that's not
>> > implemented in released-ghc package management code.
>> Yes, packages that re-export modules would be a useful feature.  Then 
>> we could
>> have a version of the base package that only exported the 
>> compiler-independent
>> modules, for example.
>> Cheers,
>>         Simon
>> _______________________________________________
>> Glasgow-haskell-users mailing list
>> Glasgow-haskell-users at

More information about the Glasgow-haskell-users mailing list