<div dir="ltr"><div class="gmail_quote gmail_quote_container"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Dec 26, 2024 at 9:24 AM Jons Mostovojs <<a href="mailto:jm@memorici.de" target="_blank">jm@memorici.de</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 dir="auto">Dear Ivan,</div><div dir="auto"><br></div><div dir="auto">I normally don't post, but I got quite scared after reading your commentary of the proposal. </div><div dir="auto"><br></div><div dir="auto">However, upon closer inspection, it became evident that it doesn't allow overriding keywords as your post suggested.<br></div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto"><div><table style="border-spacing:0px;border-collapse:separate;width:356px;table-layout:fixed;font-family:-apple-system,blinkmacsystemfont,"segoe ui","noto sans",helvetica,arial,sans-serif,"apple color emoji","segoe ui emoji";font-size:14px;font-style:normal;font-weight:400;letter-spacing:normal;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none;color:rgb(31,35,40)"><tbody style="font-family:-apple-system,blinkmacsystemfont,"segoe ui","noto sans",helvetica,arial,sans-serif,"apple color emoji","segoe ui emoji""><tr style="font-family:-apple-system,blinkmacsystemfont,"segoe ui","noto sans",helvetica,arial,sans-serif,"apple color emoji","segoe ui emoji""><td style="padding:0px 54px 0px 22px;line-height:20px;vertical-align:top;outline:dotted 1px;text-indent:0px;font-family:-apple-system,blinkmacsystemfont,"segoe ui","noto sans",helvetica,arial,sans-serif,"apple color emoji","segoe ui emoji""><span style="display:table-cell;font-size:12px;white-space:pre-wrap;font-family:-apple-system,blinkmacsystemfont,"segoe ui","noto sans",helvetica,arial,sans-serif,"apple color emoji","segoe ui emoji"">(While the changes to *<span style="font-style:italic;font-family:-apple-system,blinkmacsystemfont,"segoe ui","noto sans",helvetica,arial,sans-serif,"apple color emoji","segoe ui emoji"">fbind</span>* allow more record constructions</span></td></tr><tr style="font-family:-apple-system,blinkmacsystemfont,"segoe ui","noto sans",helvetica,arial,sans-serif,"apple color emoji","segoe ui emoji""><td style="padding:0px 54px 0px 22px;line-height:20px;vertical-align:top;outline:dotted 1px;text-indent:0px;font-family:-apple-system,blinkmacsystemfont,"segoe ui","noto sans",helvetica,arial,sans-serif,"apple color emoji","segoe ui emoji""><button type="button" style="font-style:inherit;font-weight:inherit;font-size:inherit;line-height:21px;font-family:inherit;margin:0px;text-transform:none;display:inline-block;padding:0px;text-decoration:none;white-space:nowrap;border:0px;float:left;width:22px;height:22px;text-align:center;text-indent:0px"></button><span style="display:table-cell;font-size:12px;white-space:pre-wrap;font-family:-apple-system,blinkmacsystemfont,"segoe ui","noto sans",helvetica,arial,sans-serif,"apple color emoji","segoe ui emoji"">to parse, a construction such as ``C { type = e }}`` or ``C { foo.bar = e }``</span></td></tr><tr style="font-family:-apple-system,blinkmacsystemfont,"segoe ui","noto sans",helvetica,arial,sans-serif,"apple color emoji","segoe ui emoji""><td style="padding:0px 54px 0px 22px;line-height:20px;vertical-align:top;outline:dotted 1px;text-indent:0px;font-family:-apple-system,blinkmacsystemfont,"segoe ui","noto sans",helvetica,arial,sans-serif,"apple color emoji","segoe ui emoji""><button type="button" style="font-style:inherit;font-weight:inherit;font-size:inherit;line-height:21px;font-family:inherit;margin:0px;text-transform:none;display:inline-block;padding:0px;text-decoration:none;white-space:nowrap;border:0px;float:left;width:22px;height:22px;text-align:center;text-indent:0px"></button><span style="display:table-cell;font-size:12px;white-space:pre-wrap;font-family:-apple-system,blinkmacsystemfont,"segoe ui","noto sans",helvetica,arial,sans-serif,"apple color emoji","segoe ui emoji"">will continue to be rejected during name resolution.)</span></td></tr></tbody></table></div><br></div></blockquote></div></blockquote></div></blockquote><div><br></div><div><div dir="ltr"><div>It's literally from the motivating example (bold mine):</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">@parsonsmatt commented on Jul 22<br><br>"This should enable the use of <code class="gmail-notranslate">HasField "type" s a</code> instances to be used with <code class="gmail-notranslate">OverloadedRecordDot</code> -<b> <code class="gmail-notranslate">foo.type</code>.</b>"</blockquote><div><br></div><div><a href="https://github.com/ghc-proposals/ghc-proposals/pull/668#issue-2423570608">https://github.com/ghc-proposals/ghc-proposals/pull/668#issue-2423570608</a></div><div><br></div><div><a href="https://gitlab.haskell.org/ghc/ghc/-/issues/24174">https://gitlab.haskell.org/ghc/ghc/-/issues/24174</a></div><div><br></div><div>Both of those seem to indicate that a construction like <b>foo.type</b> would be allowed with that extension on. Not <b>foo."type"</b>, but <b>foo.type</b>.</div><div><br></div><div>Also, I think we should strongly reconsider the choices being made in language design if anyone is seriously considering that, to avoid having to write foo.type_ the way to go is to design an extension that would have people write foo."type"</div><div><br></div><div>Ivan<br></div><div><br></div></div></div><br></div></div>