Backporting srcLoc to the GHC 7.10 branch

Mateusz Kowalczyk fuuzetsu at fuuzetsu.co.uk
Sat Jul 11 18:43:58 UTC 2015


On 07/08/2015 11:32 PM, Simon Peyton Jones wrote:
> I don't have a strong opinion here.  I believe that you are saying that:
> 
> * There is some change you want to make to 7.10.2.  
>   I'm not sure precisely what it is. I followed the link
>   and got a github repo with a ton of commits on it.

The change would be to put the latest two commits from

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

on top of 7.10 branch.

> * The change is an API change, which we do not normally make.
>   But you argue that it will harm no one (why are you so sure?),
>   and you are confident that it will not break anything (why?)

The API change is precisely at this commit.

https://github.com/nh2/ghc/commit/d4e476817a7df449b71a2acc515b4d0fa6f89b6b

I never said that it will not harm anyone or that it will not break
anything. I only said that it is a small price to pay.

The change is your own in the typechecker, a two SrcSpans turning into
RealSrcSpans. I think we can agree at least that it is not a large
change. I understand if it gets rejected on this basis regardless, I am
merely trying my chances.

> * FP Complete and Zalora specifically want this change.
>   Zalora = you?  Who at FP Complete wants the change?

Some of us at Zalora, yes. This thread of messages was created my FP
Complete and they did the backport. They even say that they'll include
the changes into their custom build of GHC and ship that to their
customers. So it seems like they'd want the change. The very first
message in this thread is Michael Snoyman asking if such backport could
make it into 7.10.

> Ben and Herbert are the guys you have to persuade if you really want this.
> I suspect it'll be more effective to open a ticket, milestoned for 7.10.2,
> with specifics on it.  Email gets lost; tickets don't.

Noted, thanks.

> Thanks
> 
> Simon
> 
> 
> | -----Original Message-----
> | From: ghc-devs [mailto:ghc-devs-bounces at haskell.org] On Behalf Of Mateusz
> | Kowalczyk
> | Sent: 06 July 2015 17:40
> | To: ghc-devs at haskell.org
> | Subject: Re: Backporting srcLoc to the GHC 7.10 branch
> | 
> | On 04/20/2015 05:29 PM, Niklas Hambüchen wrote:
> | > 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
> | >
> | > _______________________________________________
> | > ghc-devs mailing list
> | > ghc-devs at haskell.org
> | > http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
> | >
> | 
> | Hi all,
> | 
> | In light of how small the actual backported changes are, I wonder if it
> | would be possible to include it in 7.10.2 (or .3 if we're doing that). I
> | know that at first it was rejected but it was rejected before the diff
> | existed. In practice, the only API change was two SrcSpans changing into
> | RealSrcSpans inside the typechecker. Seems like a small price,
> | considering two commercial companies that use Haskell (FP Complete and
> | I'm here on behalf of Zalora's internal team) would love to see it.
> | 
> | I know SPJ suggested perhaps lobbying for early 7.12 instead but how
> | early could we possibly lobby for it considering 7.10.2 is not even out
> | of the door yet?
> | 
> | Niklas, do you also have a diff on top of 7.10.2 (rc-1/2)? I'd be
> | interested in seeing that too.
> | 
> | --
> | Mateusz K.
> | _______________________________________________
> | ghc-devs mailing list
> | ghc-devs at haskell.org
> | http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
> 


-- 
Mateusz K.


More information about the ghc-devs mailing list