<div dir="ltr">I do think that  reusing the record update syntax for the overloaded monomorphic update is a mistake---it is not something I had noticed during our original discussion.<div>-Iavor</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Feb 26, 2021 at 7:37 AM Richard Eisenberg <<a href="mailto:rae@richarde.dev">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 style="overflow-wrap: break-word;"><br><div><br><blockquote type="cite"><div>On Feb 26, 2021, at 4:32 AM, Simon Peyton Jones via ghc-steering-committee <<a href="mailto:ghc-steering-committee@haskell.org" target="_blank">ghc-steering-committee@haskell.org</a>> wrote:</div><br><div><div style="font-family:Helvetica;font-size:12px;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"><p class="MsoNormal" style="margin:6pt 0cm;font-size:11pt;font-family:Calibri,sans-serif">Friends<u></u><u></u></p><p class="MsoNormal" style="margin:6pt 0cm;font-size:11pt;font-family:Calibri,sans-serif">There has been a bit of discussion, but it seems to have died down again.  Any other views?<u></u><u></u></p><p class="MsoNormal" style="margin:6pt 0cm;font-size:11pt;font-family:Calibri,sans-serif">Richard, you were a bit negative – has the intervening discussion reassured you?</p></div></div></blockquote><div><br></div><div>I was negative on the motivation, but not the proposal. I'm a bit skeptical of the end goal of a -XRecordDotSyntax that implies a bunch of other flags, but that's not on the table at the moment. I'm in support of the extension breakdown as proposed and vote to accept.</div><div><br></div><div>Richard</div><br><blockquote type="cite"><div><div style="font-family:Helvetica;font-size:12px;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"><p class="MsoNormal" style="margin:6pt 0cm;font-size:11pt;font-family:Calibri,sans-serif"><u></u><u></u></p><p class="MsoNormal" style="margin:6pt 0cm;font-size:11pt;font-family:Calibri,sans-serif">I’d like us to decide pretty soon…. no point in delay.<u></u><u></u></p><p class="MsoNormal" style="margin:6pt 0cm;font-size:11pt;font-family:Calibri,sans-serif">Simon<u></u><u></u></p><div style="border-style:none none none solid;border-left-width:1.5pt;border-left-color:blue;padding:0cm 0cm 0cm 4pt"><div><div style="border-style:solid none none;border-top-width:1pt;border-top-color:rgb(225,225,225);padding:3pt 0cm 0cm"><div style="margin:0cm;font-size:11pt;font-family:Calibri,sans-serif"><b><span lang="EN-US">From:</span></b><span lang="EN-US"><span> </span>Simon Peyton Jones <<a href="mailto:simonpj@microsoft.com" target="_blank">simonpj@microsoft.com</a>><span> </span><br><b>Sent:</b><span> </span>23 February 2021 15:06<br><b>To:</b><span> </span>ghc-steering-committee <<a href="mailto:ghc-steering-committee@haskell.org" target="_blank">ghc-steering-committee@haskell.org</a>><br><b>Cc:</b><span> </span>Simon Peyton Jones <<a href="mailto:simonpj@microsoft.com" target="_blank">simonpj@microsoft.com</a>><br><b>Subject:</b><span> </span>Modification to record dot syntax propsal<u></u><u></u></span></div></div></div><p class="MsoNormal" style="margin:6pt 0cm;font-size:11pt;font-family:Calibri,sans-serif"><u></u> <u></u></p><p class="MsoNormal" style="margin:6pt 0cm;font-size:11pt;font-family:Calibri,sans-serif">Friends<u></u><u></u></p><p class="MsoNormal" style="margin:6pt 0cm;font-size:11pt;font-family:Calibri,sans-serif">Please see<span> </span><a href="https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fghc-proposals%2Fghc-proposals%2Fpull%2F405&data=04%7C01%7Csimonpj%40microsoft.com%7Caa27192c62ab448a4e2c08d8d80c8937%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637496895641978235%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=oJDy%2BiYI4kEaC%2FUJIfZbph2JnZr%2FTK%2F5aZqA6djwF3A%3D&reserved=0" style="color:rgb(5,99,193);text-decoration:underline" target="_blank">this proposal #405 to split RecordDotSyntax into two extensions</a><u></u><u></u></p><p class="MsoNormal" style="margin:6pt 0cm;font-size:11pt;font-family:Calibri,sans-serif">It is a small modification of #282 on record dot syntax.   The top comment gives links to the versions of the proposal before and after the change.<u></u><u></u></p><p class="MsoNormal" style="margin:6pt 0cm;font-size:11pt;font-family:Calibri,sans-serif">The main payload is:<u></u><u></u></p><ul type="disc" style="margin-bottom:0cm;margin-top:0cm"><li style="margin:6pt 0cm;font-size:11pt;font-family:Calibri,sans-serif">Instead of RecordDotSyntax, have to independent extensions, OverloadedRecordDot and OverloadedRecordUpdates.<u></u><u></u></li></ul><p>I recommend acceptance of this proposal, but invite the committee’s view on one point (the final bullet below). Here is the thinking<u></u><u></u></p><ul type="disc" style="margin-bottom:0cm"><li class="MsoNormal" style="margin:6pt 0cm;font-size:11pt;font-family:Calibri,sans-serif"><code style="font-family:"Courier New""><span style="font-size:10pt">RecordDotSyntax</span></code><span><span> </span>is the extension that we will eventually want programmers to user. It will probably ultimately imply</span><code style="font-family:"Courier New""><span style="font-size:10pt">NoFieldSelectors</span></code><span>. But we aren’t quite ready make that choice yet. So we don’t want to specify exactly what</span><code style="font-family:"Courier New""><span style="font-size:10pt">RecordDotSyntax</span></code><span><span> </span>does yet.<u></u><u></u></span></li><li class="MsoNormal" style="margin:6pt 0cm;font-size:11pt;font-family:Calibri,sans-serif"><span>So we want another, less ambitious, extension to enable record-dot syntax itself, and its desugaring into<span> </span></span><code style="font-family:"Courier New""><span style="font-size:10pt">getField</span></code><span>; and similarly for record updates.<u></u><u></u></span></li><li class="MsoNormal" style="margin:6pt 0cm;font-size:11pt;font-family:Calibri,sans-serif"><span>This patch to the proposal goes just a little further, by dis-aggregating into two independent extensions,</span><code style="font-family:"Courier New""><span style="font-size:10pt">OverloadedRecordDot</span></code><span><span> </span>and<span> </span></span><code style="font-family:"Courier New""><span style="font-size:10pt">OverloadedRecordUpdates</span></code><span>.<u></u><u></u></span></li><li class="MsoNormal" style="margin:6pt 0cm;font-size:11pt;font-family:Calibri,sans-serif"><span>An alternative, if the committee prefers, would be to have a single extension (say,<span> </span></span><code style="font-family:"Courier New""><span style="font-size:10pt">OverloadedRecords</span></code><span>).<u></u><u></u></span></li></ul><p class="MsoNormal" style="margin:6pt 0cm;font-size:11pt;font-family:Calibri,sans-serif">Please express your opinion.  This should not take us long.   (Technical and clarification questions would be best done on the Githhub thread, as always.)<u></u><u></u></p><p class="MsoNormal" style="margin:6pt 0cm;font-size:11pt;font-family:Calibri,sans-serif">Simon<u></u><u></u></p></div></div><span style="font-family:Helvetica;font-size:12px;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">_______________________________________________</span><br style="font-family:Helvetica;font-size:12px;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"><span style="font-family:Helvetica;font-size:12px;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">ghc-steering-committee mailing list</span><br style="font-family:Helvetica;font-size:12px;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"><span style="font-family:Helvetica;font-size:12px;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"><a href="mailto:ghc-steering-committee@haskell.org" target="_blank">ghc-steering-committee@haskell.org</a></span><br style="font-family:Helvetica;font-size:12px;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"><span style="font-family:Helvetica;font-size:12px;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"><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></span></div></blockquote></div><br></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>