compiler-independent core libraries infrastructure

Ian Lynagh igloo at earth.li
Fri Sep 15 12:20:36 EDT 2006


Hi Bulat,

Just a partial answer for now:

On Wed, Sep 13, 2006 at 12:29:58PM +0400, Bulat Ziganshin wrote:
> 
> Friday, September 8, 2006, 5:52:57 AM, you wrote:
> 
> what is a 'base' library now? it is the library that implements common set
> of operations for latest versions of ghc, hugs and nhc. it contains
> low-level implementation for ghc, but relies on separate hugsbase
> package for hugs (the same for nhc, afaiu). so, first step is obvious
> - separate ghc-base library from the rest. hugsbase, ghc-base and
> nhc-base packages should provide common set of low-level operations,

As it happens I was working on getting GHC to use cabal to build base
et al on the plane the other day, and I had a brief look at this.
Unfortunately there is a tangled web of dependencies, e.g. you need the
low level Int# stuff in ghc-base, then Int in base, but then any other
GHC-specific stuff can't use Int because it's in base. We could put
everything into ghc-base and just re-export the common stuff in base,
but then we can't share any code between ghc, hugs etc. I haven't looked
in detail to see just how bad the problem is, but I agree it would be
really good if we could split things up somehow so that base (or
whatever base gets split into) is the same everywhere.


Thanks
Ian



More information about the Glasgow-haskell-users mailing list