base library and GHC 6.12

Henning Thielemann lemming at henning-thielemann.de
Fri Jun 26 21:07:01 EDT 2009


Ian Lynagh schrieb:

> Option 1
> --------
> 
> In order to solve the version number issue, we could simply state that
> "base follows the PvP, but only for shared module hierarchies". However,
> it would be impossible for packages which /do/ need GHC.* modules to
> give accurately versioned dependencies, and it wouldn't solve the other
> issue at all.
> 
> 
> Option 2
> --------
> 
> Another possible solution would be to rename the base package to
> base-internals, and to make base only re-export the "public" modules.
> This would require either renaming each module M to Internal.M, or for
> every implementation to support something like GHC's PackageImports
> extension.
> 
> 
> Option 3
> --------
> 
> The other alternative is to try to split base into two parts: The shared
> "public" modules, and the internal GHC.* modules. Then GHC would have
> ghc-base, hugs would have hugs-base, etc, and there would be a common
> base package built on top of the appropriate impl-base.

This sounds most sensible to me. I would also like to see
System.IO.Unsafe in a separate package. This would simplify running of
untrusted code.



More information about the Libraries mailing list