<div dir="ltr">In favor</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Sep 8, 2023 at 6:36 PM Simon Peyton Jones <<a href="mailto:simon.peytonjones@gmail.com">simon.peytonjones@gmail.com</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="ltr"><div class="gmail_default" style="font-family:tahoma,sans-serif">I don't have a strong opinion here.   The authors have done a pretty diligent job of exploring syntactic alternatives, and seeking feedback from the community.  I'm quite content to accept this proposal.  (We have already accepted the base or-pattern proposal, so that's not our subject for debate.)</div><div class="gmail_default" style="font-family:tahoma,sans-serif"><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif">Simon<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, 8 Sept 2023 at 03:57, Chris Dornan <<a href="mailto:chris@chrisdornan.com" target="_blank">chris@chrisdornan.com</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="ltr"><div style="color:rgb(214,222,235);background-color:rgb(1,22,39);font-family:Hasklig,"Fira Code",Menlo,Monaco,"Courier New",monospace;font-size:12px;line-height:18px;white-space:pre-wrap"><div>Proposal: Amend or patterns (#522) to use p1 ; p2 (#609)</div><div>Author: Sebastian Graf, David Knothe</div><div>Rendered proposal: <a href="https://github.com/ghc-proposals/ghc-proposals/blob/eb4b67c29282520b2c5c6a49c3047dbecb15dde1/proposals/0522-or-patterns.rst" target="_blank">https://github.com/ghc-proposals/ghc-proposals/blob/eb4b67c29282520b2c5c6a49c3047dbecb15dde1/proposals/0522-or-patterns.rst</a></div><div>Discussion: <a href="https://github.com/ghc-proposals/ghc-proposals/pull/609" target="_blank">https://github.com/ghc-proposals/ghc-proposals/pull/609</a></div><div>Recommendation: Acceptance</div><br><div><span style="color:rgb(130,177,255)">## Summary</span></div><br><div>This proposal refines the syntax of an already accpted proposal (#522) for writing or patterns.</div><br><div>The syntax of the old proposal,</div><br><div>```haskell</div><div>    <span style="color:rgb(130,170,255);font-style:italic">stringOfT</span> <span style="color:rgb(127,219,202)">::</span> <span style="color:rgb(199,146,234)">T</span> <span style="color:rgb(127,219,202)">-></span> <span style="color:rgb(199,146,234)">Maybe</span> <span style="color:rgb(199,146,234)">String</span></div><div>    stringOfT (<span style="color:rgb(130,170,255)">T1</span> s)              <span style="color:rgb(127,219,202)">=</span> <span style="color:rgb(130,170,255)">Just</span> s</div><div>    stringOfT (one <span style="color:rgb(199,146,234);font-style:italic">of</span> <span style="color:rgb(130,170,255)">T2</span>{}, <span style="color:rgb(130,170,255)">T3</span>{}) <span style="color:rgb(127,219,202)">=</span> <span style="color:rgb(130,170,255)">Nothing</span></div><div>```</div><br><div>is replaced with</div><br><div>```haskell</div><div>    <span style="color:rgb(130,170,255);font-style:italic">stringOfT</span> <span style="color:rgb(127,219,202)">::</span> <span style="color:rgb(199,146,234)">T</span> <span style="color:rgb(127,219,202)">-></span> <span style="color:rgb(199,146,234)">Maybe</span> <span style="color:rgb(199,146,234)">String</span></div><div>    stringOfT (<span style="color:rgb(130,170,255)">T1</span> s)       <span style="color:rgb(127,219,202)">=</span> <span style="color:rgb(130,170,255)">Just</span> s</div><div>    stringOfT (<span style="color:rgb(130,170,255)">T2</span>{}; <span style="color:rgb(130,170,255)">T3</span>{}) <span style="color:rgb(127,219,202)">=</span> <span style="color:rgb(130,170,255)">Nothing</span></div><div>```</div><br><div>or indeed</div><br><div>```haskell</div><div>    <span style="color:rgb(130,170,255);font-style:italic">stringOfT</span> <span style="color:rgb(127,219,202)">::</span> <span style="color:rgb(199,146,234)">T</span> <span style="color:rgb(127,219,202)">-></span> <span style="color:rgb(199,146,234)">Maybe</span> <span style="color:rgb(199,146,234)">String</span></div><div>    stringOfT x <span style="color:rgb(127,219,202)">=</span> <span style="color:rgb(199,146,234);font-style:italic">case</span> x <span style="color:rgb(199,146,234);font-style:italic">of</span></div><div>      <span style="color:rgb(130,170,255)">T1</span> s <span style="color:rgb(127,219,202)">-></span> <span style="color:rgb(130,170,255)">Just</span> s</div><div>      <span style="color:rgb(130,170,255)">T2</span>{}</div><div>      <span style="color:rgb(130,170,255)">T3</span>{} <span style="color:rgb(127,219,202)">-></span> <span style="color:rgb(130,170,255)">Nothing</span></div><div>```</div><br><div>(Beacuse the '(' ... ')' are optional here, we can remove them and naturally exploit layout.)</div><br><div>The authors have conducted polls to see what folks preferred, landing on this proposal. The</div><div>adjustments to the Haskell grammar are really quite minimal requiring one extra production.</div><br><div><span style="color:rgb(130,177,255)">## Recommendation</span></div><br><div>The proposal is nondiruptive and as a whole addresses an important practical topic. I recommend</div><div>that we accept it</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>
_______________________________________________<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>