<div dir="ltr">Hello Simon,<div><br></div><div>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.</div><div>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.</div><div><br></div><div>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? </div><div><br></div><div>Do you want me to do the renaming?</div><div> </div><div>Cheers,</div><div>Bartosz</div><div><br></div><div>[1] <a href="https://phabricator.haskell.org/diffusion/GHC/browse/master/compiler/types/Type.hs;016a0bd1ba129134dfa612db0d96e01644fa7b9f$803-804">https://phabricator.haskell.org/diffusion/GHC/browse/master/compiler/types/Type.hs;016a0bd1ba129134dfa612db0d96e01644fa7b9f$803-804</a></div><div>[2] <a href="https://phabricator.haskell.org/diffusion/GHC/browse/master/compiler/coreSyn/CoreLint.hs;016a0bd1ba129134dfa612db0d96e01644fa7b9f$1134">https://phabricator.haskell.org/diffusion/GHC/browse/master/compiler/coreSyn/CoreLint.hs;016a0bd1ba129134dfa612db0d96e01644fa7b9f$1134</a></div></div><div class="gmail_extra"><br><div class="gmail_quote">2016-01-26 10:55 GMT+00:00 Simon Peyton Jones <span dir="ltr"><<a href="mailto:simonpj@microsoft.com" target="_blank">simonpj@microsoft.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">





<div lang="EN-GB" link="#0563C1" vlink="#954F72">
<div>
<p class="MsoNormal"><span style="font-size:12.0pt">Bartosz<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:12.0pt">How are you getting on with tidying up substitutions.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:12.0pt">I’ve done a bit in that direction myself:<u></u><u></u></span></p>
<p style="margin-left:36.0pt">commit 1c6d70c2121fd1126fcc2458bdbcc856e19598c2<u></u><u></u></p>
<p style="margin-left:36.0pt">Author: Simon Peyton Jones <<a href="mailto:simonpj@microsoft.com" target="_blank">simonpj@microsoft.com</a>><u></u><u></u></p>
<p style="margin-left:36.0pt">Date:   Tue Jan 26 09:37:06 2016 +0000<u></u><u></u></p>
<p style="margin-left:36.0pt"><u></u> <u></u></p>
<p style="margin-left:36.0pt">    Kill off zipTopTCvSubst in favour of zipOpenTCvSubst<u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:12.0pt">But there is more to do.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:12.0pt">In particular, I note that <b>
substTys is not checked</b> – but neither is it called substTysUnchecked.  It should be!  That will show up a bunch more cases, I think.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:12.0pt">Another particular thing, arising from my patch, is that
<b>we can now do some renaming</b><u></u><u></u></span></p>
<p><u></u><span style="font-size:12.0pt;font-family:Symbol"><span>·<span style="font:7.0pt "Times New Roman"">        
</span></span></span><u></u><span style="font-size:12.0pt">zipOpenTCvSubst  -> zipTvSubst   (It only deals with tyvars)<u></u><u></u></span></p>
<p><u></u><span style="font-size:12.0pt;font-family:Symbol"><span>·<span style="font:7.0pt "Times New Roman"">        
</span></span></span><u></u><span style="font-size:12.0pt">zipOpenTCvSubstCoVars -> zipCvSubst   (it only deals with covars)<u></u><u></u></span></p>
<p><u></u><span style="font-size:12.0pt;font-family:Symbol"><span>·<span style="font:7.0pt "Times New Roman"">        
</span></span></span><u></u><span style="font-size:12.0pt">zipOpenTCvSubstBinders ->  zipTyBinderSubst  (it only deals with TyBinders, not covars)<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:12.0pt">I guess you’ll want to do similar things for the “mk” variants.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:12.0pt">Anyway: good for you!  Let me know if you need help.<span class="HOEnZb"><font color="#888888"><u></u><u></u></font></span></span></p><span class="HOEnZb"><font color="#888888">
<p class="MsoNormal"><span style="font-size:12.0pt">Simon<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:12.0pt"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:12.0pt"><u></u> <u></u></span></p>
</font></span></div>
</div>

</blockquote></div><br></div>