<html><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><meta http-equiv="Content-Type" content="text/html; charset=us-ascii" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><br class=""><div class=""><br class=""><blockquote type="cite" class=""><div class="">On Apr 1, 2021, at 3:59 AM, Vladislav Zavialov (int-index) <<a href="mailto:vlad.z.4096@gmail.com" class="">vlad.z.4096@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><span style="caret-color: rgb(0, 0, 0); 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; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">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 class=""><div class="">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 class=""><br class=""></div><div class="">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 class=""><br class=""></div><div class=""><blockquote type="cite" class=""><div class="">On Apr 1, 2021, at 9:59 AM, Alejandro Serrano Mena <<a href="mailto:trupill@gmail.com" class="">trupill@gmail.com</a>> wrote:</div><div class=""><div class=""><div dir="" class=""><div dir="ltr" class=""><div class="gmail_quote" dir="ltr"><div class="gmail_quote"><br class=""></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 class=""><br class=""></div><div class="">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 class=""><blockquote type="cite" class=""><div class=""><div class=""><div dir="" class=""><div dir="ltr" class=""><div class="gmail_quote" dir="ltr"><br class=""><div class="gmail_quote" dir="ltr"><br class=""></div>But those custom preludes would have to be updated anyway, right?</div></div></div></div></div></blockquote><div class=""><br class=""></div><div class="">Yes, they would.</div></div><div class=""><div class=""><br class=""></div></div><div class="">Richard</div></div></body></html>