Backporting srcLoc to the GHC 7.10 branch

Niklas Hambüchen mail at nh2.me
Mon Apr 20 16:29:52 UTC 2015


Hello everybody,

I'm glad to announce that I performed the suggested backporting as part of 
my work for FP Complete!

With the help of Eric (thanks for your support in #ghc!) we now have this 
patch for 7.10 and 7.8.

As promised, here are the commits:

* https://github.com/nh2/ghc/commits/ghc-7.10.1-release-srcloc-ip
* https://github.com/nh2/ghc/commits/ghc-7.8.4-release-srcloc-ip

You can see in the history that I only needed to cherry-pick "Make the 
location in TcLclEnv and CtLoc into a RealSrcSpan" as a dependent commit, 
so the changes beyond the actual feature are fairly minimal.

For 7.8, I had to do a little more cleanup, see the "Use wrapIPTc instead 
of coercionToTcCoercion on wrapIP" commit.

Regarding the commit of the feature itself, I had to do quite some merge 
resolution, especially due to the (lack of) the -fwarn-redundant-
constraints patch https://github.com/nh2/ghc/commit/32973bf3 (alias "but it 
was Christmas, so I did some recreational programming that went much 
further").
However, the type checker had a strong opinion of what the right merge 
decision was, at least for the 7.10 backport; for 7.8 there was an 
ambiguity (whether to return `Nothing` or `Just` in `interactDict`), which 
was resolved with Eric's help.

Please be invited to review the two commits.

We would like to make 7.8 and 7.10 binaries with this feature available as 
well, and will do so after getting a review!

Niklas



More information about the ghc-devs mailing list