GHC 6.6 GADT type unification vs GHC 6.8

Jason Dagit dagit at
Mon Jul 21 15:43:59 EDT 2008


I was wresting with the problem of converting our type witness code in darcs
to work with ghc 6.8 and it occurred to me that someone has probably
document the change somewhere.  In particular, I'm seeing this error message
a lot, but 6.6 doesn't give this message:
    GADT pattern match in non-rigid context for `NilRL'
      Tell GHC HQ if you'd like this to unify the context

The main difference I have observed is that 6.6 infers types in case
statements fully, but 6.8 seems to skip them and expects type signatures.
Sometimes I'm at a loss to figure out where to add the type signature to
satisfy 6.8 and the process becomes tedious and time consuming.  I'm using
6.8.2 and I did see this thread:

What version of GHC do I need to see the improved diagnostics mentioned in
that thread?

Will the GADT unification in 6.10 be compatible with 6.6?  If so, maybe I
shouldn't convert the code to work for 6.8.  Also, can someone point me to a
discussion of the difference or a paper about it?

-------------- next part --------------
An HTML attachment was scrubbed...

More information about the Glasgow-haskell-users mailing list