[jhc] `base' vs. `haskell98' when patching jhc for GHC >= 7.2

John Meacham john at repetae.net
Mon Jan 23 23:13:12 CET 2012


On Thu, Jan 19, 2012 at 3:13 PM, Dirk Ullrich
<dirk.ullrich at googlemail.com> wrote:
> as already mentioned for GHC >= 7.2 the package `haskell98' conflicts
> with the `base' package. Thus when patching jhc for such a GHC version
> seems to amount to use only one of them. Would it be okay to use
> `base' alone for jhc (since imho jhc is less Haskell 98 compliant
> than, for instance, DrIFT)?

I have been wondering about the best way to handle this too. The issue
is that the jhc tree is actually an amalgamation of the jhc codebase
itself, and code that is shared between other projects, some of which
are haskell 98.

What is the restriction in GHC >= 7.2 that all of jhc can't use both,
or just that individual modules can't use both? If it is individual
modules, that is fine as I don't mind making modules haskell98 or
haskell2010 specific is bad, but I'd hate to pull all of Util/ in and
branch a haskell 98 version.

Hmm.. I am thinking maybe create a haskell98_compat directory which
just re-exports the various modules from base but is compatible with
it. It won't be a package, but just part of the jhc distribution. It
won't be 100% compatible due to the Prelude not being able to be
changed, but it shouldn't be difficult to make the files work under
both anyway. heh. I could even link lib/haskell98 into jhc as well as
distribute it as a library for jhc :)

What do you think is best?

    John



More information about the jhc mailing list