Adding System.FilePath

Jeffrey Yasskin jyasskin at
Sun Mar 18 11:38:11 EDT 2007

On 3/18/07, Bulat Ziganshin <bulat.ziganshin at> wrote:
> Hello Jeffrey,
> Sunday, March 18, 2007, 5:32:21 AM, you wrote:
> >> base isn't compatible between major ghc versions (6.6/6.8). so you may
> >> use only base 2.0 with 6.6 or base 3.0 with 6.8.
> > This seems wrong to me (though I'm quite new at this, so there could
> > be something obvious I'm missing). I understand that ghc-6.6 expects
> try to compile base of ghc 6.6 using 6.4 compiler and vice versa. 6.8
> is not yet finished, so i guess that differences between base 2.0 and
> base 3.0 will be much larger that now

That's inconvenient but not a fundamental problem. Say ghc-6.8 gets up
to base-3.2 by the time 6.10 is released depending on base-4.0. Then
someone wants to add System.ZOMGio to base. They add it to both
base-3.3 and base-4.1. Someone who wants to use it needs to specify
that they depend on base ">=3.3&&<4.0 || >=4.1", and can probably
assume that >=5.0 will also include it.

> > So, to solve the immediate problem you're complaining about, it might
> > be more practical to pull the "bottom" (GHC/Prim*.hs) out of base into
> > something like ghc-prim for ghc-6.8 rather than to prevent new modules
> > from being added to the top. Then base can be refactored at a more
> > leisurely pace.
> look at :)

You're depending on the existing base package from these files. You
need to pass ghc the -hide-all-packages flag to tell it that you're
starting from scratch. Then, even if I copy GHC/* into place, it
complains that

    Failed to load interface for `GHC.Prim':
      it is a member of package base, which is hidden

Which is the same problem I ran into. I think you're conflating two
different problems: Make ghc-6.8.x support more than ==base-3.0, and
make base-3.0 support more than ghc-6.8.x. The second is an admirable
goal, but to support upgrading base, you only have to deal with the

Jeffrey Yasskin

More information about the Libraries mailing list