<div dir="ltr"><div>I'm still not sure what problem this proposal solves. The proposal alludes to some code simplification but doesn't give me a good idea of how much simpler this would make the code.</div><div><br></div><div>Also note that -XGADT becomes mostly vacuous with this proposal: -XGADTSyntax + -XExistentialTypes imply GADTs (both are in -XGHC2021). Not that I mind, really, I actually probably prefer it this way. But it's worthy of notice.<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Apr 22, 2021 at 4:10 AM Richard Eisenberg <<a href="mailto:rae@richarde.dev" target="_blank">rae@richarde.dev</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>Hi committee,<div><br></div><div>This proposal has been updated to include exporting (~) from the Prelude. This means that migration is much easier than it was previously, likely not requiring any import changes (or just in a project's custom Prelude). Users will have to enable -XTypeOperators (and could choose to disable -XGADTs or -XTypeFamilies). With this new export, I'm more firmly in favor of cleaning up this one little corner: let's accept.</div><div><br></div><div>I will wait one week for any comments, and then will accept this proposal.</div><div><br></div><div>Thanks,</div><div>Richard<br><div><br><blockquote type="cite"><div>On Apr 1, 2021, at 2:37 PM, Richard Eisenberg <<a href="mailto:rae@richarde.dev" target="_blank">rae@richarde.dev</a>> wrote:</div><br><div><div><div><br><div><br><blockquote type="cite"><div>On Apr 1, 2021, at 3:59 AM, Vladislav Zavialov (int-index) <<a href="mailto:vlad.z.4096@gmail.com" target="_blank">vlad.z.4096@gmail.com</a>> wrote:</div><br><div><span style="font-family:Menlo-Regular;font-size:11px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none;float:none;display:inline">Exporting from Prelude is not a panacea: without a compatibility fallback, users of custom preludes will be affected. The proposed migration story means that for 8 releases, no existing code will break at all.</span></div></blockquote></div><br><div>Right. I wasn't suggesting a change to the migration plan -- just that (~) would additionally be exported from the Prelude. The warning would trigger only when (~) isn't in scope, meaning that many users won't need to react to this change (given that -XTypeOperators is now on by default).</div><div><br></div><div>As for the specialness of ~: yes, it's special, but we export other special things from the Prelude, like $ (which automatically enables -XImpredicativeTypes).</div><div><br></div><div><blockquote type="cite"><div>On Apr 1, 2021, at 9:59 AM, Alejandro Serrano Mena <<a href="mailto:trupill@gmail.com" target="_blank">trupill@gmail.com</a>> wrote:</div><div><div><div dir=""><div dir="ltr"><div class="gmail_quote" dir="ltr"><div class="gmail_quote"><br></div>I meant the usual convention that type constructors must start with a capital letter or the : symbol. But in this case I had forgotten that with TypeOperators on, those conventions behave differently for types than for terms.</div></div></div></div></div></blockquote><div><br></div><div>This used to be true, but the requirement that the first letter be a capital letter or : was dropped some time ago -- before I started using Haskell, in any case. It is independent of -XTypeOperators, which is necessary for any infix type level syntax.</div><br><blockquote type="cite"><div><div><div dir=""><div dir="ltr"><div class="gmail_quote" dir="ltr"><br><div class="gmail_quote" dir="ltr"><br></div>But those custom preludes would have to be updated anyway, right?</div></div></div></div></div></blockquote><div><br></div><div>Yes, they would.</div></div><div><div><br></div></div><div>Richard</div></div></div>_______________________________________________<br>ghc-steering-committee mailing list<br><a href="mailto:ghc-steering-committee@haskell.org" target="_blank">ghc-steering-committee@haskell.org</a><br><a href="https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee" target="_blank">https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee</a><br></div></blockquote></div><br></div></div>_______________________________________________<br>
ghc-steering-committee mailing list<br>
<a href="mailto:ghc-steering-committee@haskell.org" target="_blank">ghc-steering-committee@haskell.org</a><br>
<a href="https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee" rel="noreferrer" target="_blank">https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee</a><br>
</blockquote></div>