Substitutions

Bartosz Nitka niteria at gmail.com
Tue Jan 26 11:14:40 UTC 2016


Hello Simon,

I was about to send an improved version of D1801, I will do that once I
rebase past your patch (there's a small overlap with what I've done). D1820
is ready for review.
I have a patch coming for piResultTys [1] where the FVs of ty are not in
the in_scope set. I've also looked at a similar problem in lint_app [2],
but the fix I have is a bit awkward, so I will probably need some input
from you. Both of them are blocking #11360 and I want to get it unblocked
as soon as possible to continue determinism work.

I'm aware of substTys being currently unchecked, I didn't want to introduce
substTysUnchecked just yet, as there already are more than 30 occurrences
of substTyUnchecked. But maybe I should push uncheckedness as far up as
possible, do you think it's worth to do it now?

Do you want me to do the renaming?

Cheers,
Bartosz

[1]
https://phabricator.haskell.org/diffusion/GHC/browse/master/compiler/types/Type.hs;016a0bd1ba129134dfa612db0d96e01644fa7b9f$803-804
[2]
https://phabricator.haskell.org/diffusion/GHC/browse/master/compiler/coreSyn/CoreLint.hs;016a0bd1ba129134dfa612db0d96e01644fa7b9f$1134

2016-01-26 10:55 GMT+00:00 Simon Peyton Jones <simonpj at microsoft.com>:

> Bartosz
>
> How are you getting on with tidying up substitutions.
>
> I’ve done a bit in that direction myself:
>
> commit 1c6d70c2121fd1126fcc2458bdbcc856e19598c2
>
> Author: Simon Peyton Jones <simonpj at microsoft.com>
>
> Date:   Tue Jan 26 09:37:06 2016 +0000
>
>
>
>     Kill off zipTopTCvSubst in favour of zipOpenTCvSubst
>
> But there is more to do.
>
> In particular, I note that * substTys is not checked* – but neither is it
> called substTysUnchecked.  It should be!  That will show up a bunch more
> cases, I think.
>
> Another particular thing, arising from my patch, is that *we can now do
> some renaming*
>
> ·         zipOpenTCvSubst  -> zipTvSubst   (It only deals with tyvars)
>
> ·         zipOpenTCvSubstCoVars -> zipCvSubst   (it only deals with
> covars)
>
> ·         zipOpenTCvSubstBinders ->  zipTyBinderSubst  (it only deals
> with TyBinders, not covars)
>
> I guess you’ll want to do similar things for the “mk” variants.
>
> Anyway: good for you!  Let me know if you need help.
>
> Simon
>
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-devs/attachments/20160126/1df34db6/attachment.html>


More information about the ghc-devs mailing list