<html><body><div dir="ltr">
Hi everybody,</div><div dir="ltr">I’ve just casted my vote (I was on holidays with no easy access to reading these long-is threads), hopefully it’s not too late.</div><div dir="ltr"><br></div><div dir="ltr">Alejandro<br><br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">El 22 jul 2021 17:36:13, Simon Peyton Jones <<a href="mailto:simonpj@microsoft.com">simonpj@microsoft.com</a>> escribió:<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>
<div>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
</div>
<div lang="EN-GB" link="#0563C1" vlink="#954F72" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal">Vlad, Alejandro, Arnaud</p>
<p class="MsoNormal">Today is the deadline. <a href="https://docs.google.com/document/d/1NDXk5kKcLtkqhkSNESAC9jVrBn3yqS_Qe1vacAIKnDs/edit?usp=sharing">
Please vote</a>!</p>
<p class="MsoNormal">Thanks</p>
<p class="MsoNormal">Simon</p>
<p class="MsoNormal"> </p>
<div>
<div style="border:none;border-top:solid #e1e1e1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal" style="margin:0cm"><b><span lang="EN-US" style="mso-fareast-language:EN-GB">From:</span></b><span lang="EN-US" style="mso-fareast-language:EN-GB"> Simon Peyton Jones <<a href="mailto:simonpj@microsoft.com">simonpj@microsoft.com</a>>
<br>
<b>Sent:</b> 16 July 2021 16:22<br>
<b>To:</b> <a href="mailto:ghc-steering-committee@haskell.org">ghc-steering-committee@haskell.org</a><br>
<b>Cc:</b> Simon Peyton Jones <<a href="mailto:simonpj@microsoft.com">simonpj@microsoft.com</a>><br>
<b>Subject:</b> Proposal #302: Multiway lambda: time to vote</span></p>
</div>
</div>
<p class="MsoNormal"> </p>
<p class="MsoNormal">Friends</p>
<p class="MsoNormal">Sorry to be slow on #302: multi-way lambda. I was diverted by the POPL deadline.</p>
<p class="MsoNormal">I have not heard from Tom or Vitaly, I think, but I’ll take silence for agreement with the ballot list.</p>
<p class="MsoNormal">So it is time to vote! </p>
<p class="MsoNormal">Please go <a href="https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.google.com%2Fdocument%2Fd%2F1NDXk5kKcLtkqhkSNESAC9jVrBn3yqS_Qe1vacAIKnDs%2Fedit%3Fusp%3Dsharing&data=04%7C01%7Csimonpj%40microsoft.com%7C5d7b8dd342144930392308d9486d710b%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637620457141403003%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=%2BAUVgyDZPoNjubavEBUhPYo5TGMRIfcPB5Q%2FQ5%2BkK2Q%3D&reserved=0">
here</a>, and vote.</p>
<p class="MsoNormal">Feel free to add pros/cons to the list on that page.</p>
<p class="MsoNormal"><b><span style="color:red">Please vote by next Thursday, 22 July, at the latest</span></b>. It’s a balance of judgement, for sure, not technically complicated.</p>
<p class="MsoNormal">Simon</p>
<p class="MsoNormal"> </p>
<div>
<div style="border:none;border-top:solid #e1e1e1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal" style="margin:0cm"><b><span lang="EN-US" style="mso-fareast-language:EN-GB">From:</span></b><span lang="EN-US" style="mso-fareast-language:EN-GB"> Simon Peyton Jones <<a href="mailto:simonpj@microsoft.com">simonpj@microsoft.com</a>>
<br>
<b>Sent:</b> 28 June 2021 10:45<br>
<b>To:</b> <a href="mailto:ghc-steering-committee@haskell.org">ghc-steering-committee@haskell.org</a><br>
<b>Cc:</b> Simon Peyton Jones <<a href="mailto:simonpj@microsoft.com">simonpj@microsoft.com</a>><br>
<b>Subject:</b> RE: [ghc-steering-committee] Proposal #302: `\of` (New Shepherd: Simon PJ)</span></p>
</div>
</div>
<p class="MsoNormal"> </p>
<p class="MsoNormal">Dear Steering Committee </p>
<p class="MsoNormal">Two weeks ago I asked</p>
<ul style="margin-top:0cm" type="circle">
<li class="MsoListParagraph" style="margin-left:0cm"><b>Are there any other alternatives you
<i>strongly</i> want on the ballot?</b></li></ul>
<p class="MsoNormal"> </p>
<p class="MsoNormal">I got these responses</p>
<ul style="margin-top:0cm" type="disc">
<li class="MsoListParagraph" style="margin-left:0cm">Joachim, Simon, Alejandro, Arnaud: nothing to add</li><li class="MsoListParagraph" style="color:red;margin-left:0cm">
Vitaly, Eric, Tom, Richard, Vlad: no response</li></ul>
<p class="MsoNormal">I’d love to hear from the five of you, please. I want to get a decision on this, and I can’t do that if I don’t hear from you.</p>
<p class="MsoNormal">Thanks</p>
<p class="MsoNormal">Simon</p>
<p class="MsoNormal"> </p>
<div>
<div style="border:none;border-top:solid #e1e1e1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal" style="margin:0cm"><b><span lang="EN-US" style="mso-fareast-language:EN-GB">From:</span></b><span lang="EN-US" style="mso-fareast-language:EN-GB"> ghc-steering-committee <<a href="mailto:ghc-steering-committee-bounces@haskell.org">ghc-steering-committee-bounces@haskell.org</a>>
<b>On Behalf Of </b>Simon Peyton Jones via ghc-steering-committee<br>
<b>Sent:</b> 15 June 2021 13:52<br>
<b>To:</b> Joachim Breitner <<a href="mailto:mail@joachim-breitner.de">mail@joachim-breitner.de</a>>;
<a href="mailto:ghc-steering-committee@haskell.org">ghc-steering-committee@haskell.org</a><br>
<b>Subject:</b> Re: [ghc-steering-committee] Proposal #302: `\of` (New Shepherd: Simon PJ)</span></p>
</div>
</div>
<p class="MsoNormal"> </p>
<p class="MsoPlainText">| I’d like to reassing shepherding of this one.</p>
<p class="MsoPlainText">| </p>
<p class="MsoPlainText">| It seems to be clear that we want “something like this”, there are many ways</p>
<p class="MsoPlainText">| to skin the cat, so it comes down to opinion and what we need is a decision</p>
<p class="MsoPlainText">| (or a call to votes). As with anything that’s possibly quite opinionated,</p>
<p class="MsoPlainText">| it’s good to have an authorative voice, so in this case, Simon PJ.</p>
<p class="MsoPlainText">| </p>
<p class="MsoPlainText">| Simon, can you either come up with a “all things considered, I think this</p>
<p class="MsoPlainText">| variant is the (narrowly) the best” recommendation or, alternative, a</p>
<p class="MsoPlainText">| “please vote on the following options” verdict?</p>
<p class="MsoPlainText"> </p>
<p class="MsoPlainText"><span style="font-family:"Calibri",sans-serif">OK, to remind everyone</span></p>
<ul style="margin-top:0cm" type="disc">
<li class="MsoPlainText" style="mso-list:l2 level1 lfo3"><span style="font-family:"Calibri",sans-serif">Here is the proposal:
<a href="https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FJakobBruenker%2Fghc-proposals%2Fblob%2Fpatch-1%2Fproposals%2F0000-lambda-layout.md&data=04%7C01%7Csimonpj%40microsoft.com%7C4ae55d76732448a0c3a508d93a1955ed%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637604702751348160%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=Hvxpaew8S333OX7IvW9cfD003mLSZxpjRdjOotGVZMA%3D&reserved=0">
https://github.com/JakobBruenker/ghc-proposals/blob/patch-1/proposals/0000-lambda-layout.md</a></span></li><li class="MsoPlainText" style="mso-list:l2 level1 lfo3"><span style="font-family:"Calibri",sans-serif">Here is the discussion:
<a href="https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fghc-proposals%2Fghc-proposals%2Fpull%2F302&data=04%7C01%7Csimonpj%40microsoft.com%7C4ae55d76732448a0c3a508d93a1955ed%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637604702751358154%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=1aYsUzlUaixOxNvW2%2FEkLNbImFD7yLBT273QFA76ZEI%3D&reserved=0">
https://github.com/ghc-proposals/ghc-proposals/pull/302</a></span></li></ul>
<p class="MsoPlainText"><span style="font-family:"Calibri",sans-serif"> </span></p>
<p class="MsoPlainText"><span style="font-family:"Calibri",sans-serif">The basic idea is to extend to lambda all the facilities that you get with function definitions, especially multiple patterns and guards. This seems clearly a good idea, whose only obstacle
is syntactic. There are no conceptual or specification challenges. The only point at issue is that of concrete syntax.</span></p>
<p class="MsoPlainText"><span style="font-family:"Calibri",sans-serif"> </span></p>
<p class="MsoPlainText"><span style="font-family:"Calibri",sans-serif">The proposal offers four possible syntactic options. After reviewing, I propose to discard (2) and (3) leaving these alternatives</span></p>
<p class="MsoPlainText"><span style="font-family:"Calibri",sans-serif"> </span></p>
<ul style="margin-top:0cm" type="disc">
<li class="MsoListParagraph" style="margin-left:0cm"><b>Option (1)
</b>\cases { p1 p2 -> rhs1; q1 q2 -> rhs2 }</li><ul style="margin-top:0cm" type="circle">
<li class="MsoListParagraph" style="margin-left:0cm">Lives alongside \case, but allows multiple patterns</li><li class="MsoListParagraph" style="margin-left:0cm">Other keywords are possible, but I think it must be a variant on \case</li></ul>
<li class="MsoListParagraph" style="margin-left:0cm"><b>Option (4)</b> Same, but use \case as the keyword</li><ul style="margin-top:0cm" type="circle">
<li class="MsoListParagraph" style="margin-left:0cm">Incompatible with existing \case => extended transition period, unhappy users</li><li class="MsoListParagraph" style="margin-left:0cm">\case { (Just x) -> rhs1; Nothing -> rhs2 } will require parens forever, which in the common case of a one argument lambda see clunky.</li></ul>
<li class="MsoListParagraph" style="margin-left:0cm"><b>Option (X).</b> Reject the proposal.</li></ul>
<p class="MsoNormal"> </p>
<p class="MsoNormal">Personally I favour (1). I’m relaxed about having multiple ways of saying the thing (think of let vs where), and I see no harm provided the two constructs look and behave the same. I’ve decided I like \cases precisely because it’s the
plural of \case, which is exactly what is going on.</p>
<p class="MsoNormal">I think we’ll end up having to vote on this, which is fine when it’s a judgement call about syntax. But first:</p>
<ul style="margin-top:0cm" type="circle">
<li class="MsoListParagraph" style="margin-left:0cm"><b>Are there any other alternatives you
<i>strongly</i> want on the ballot?</b></li></ul>
<p class="MsoNormal">I say “strongly” because I don’t want to open up a big new debate… we at the stage of trying to narrow options.</p>
<p class="MsoNormal">Thanks</p>
<p class="MsoNormal">Simon</p>
</div>
</div>
</div>
</blockquote>
</div>
</div></body></html>