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