[ghc-steering-committee] Amend or patterns (#522) to use p1 ; p2 (#609)

Chris Dornan chris at chrisdornan.com
Sun Oct 8 15:15:57 UTC 2023


The motion is carried. I have asked the authors to make some final changes proposed by Simon and Adam -- once that is done we can press the big green button. 

> On 3 Oct 2023, at 11:17, Simon Peyton Jones <simon.peytonjones at gmail.com> wrote:
> 
> Chris
> 
> Joachim, Simon, and Richard have yet to vote; but I think you have a majority anyway.  Would you like to move this forward?
> 
> Simon
> 
> On Fri, 8 Sept 2023 at 11:57, Chris Dornan <chris at chrisdornan.com <mailto:chris at chrisdornan.com>> wrote:
>> Proposal: Amend or patterns (#522) to use p1 ; p2 (#609)
>> Author: Sebastian Graf, David Knothe
>> Rendered proposal: https://github.com/ghc-proposals/ghc-proposals/blob/eb4b67c29282520b2c5c6a49c3047dbecb15dde1/proposals/0522-or-patterns.rst
>> Discussion: https://github.com/ghc-proposals/ghc-proposals/pull/609
>> Recommendation: Acceptance
>> 
>> ## Summary
>> 
>> This proposal refines the syntax of an already accpted proposal (#522) for writing or patterns.
>> 
>> The syntax of the old proposal,
>> 
>> ```haskell
>>     stringOfT :: T -> Maybe String
>>     stringOfT (T1 s)              = Just s
>>     stringOfT (one of T2{}, T3{}) = Nothing
>> ```
>> 
>> is replaced with
>> 
>> ```haskell
>>     stringOfT :: T -> Maybe String
>>     stringOfT (T1 s)       = Just s
>>     stringOfT (T2{}; T3{}) = Nothing
>> ```
>> 
>> or indeed
>> 
>> ```haskell
>>     stringOfT :: T -> Maybe String
>>     stringOfT x = case x of
>>       T1 s -> Just s
>>       T2{}
>>       T3{} -> Nothing
>> ```
>> 
>> (Beacuse the '(' ... ')' are optional here, we can remove them and naturally exploit layout.)
>> 
>> The authors have conducted polls to see what folks preferred, landing on this proposal. The
>> adjustments to the Haskell grammar are really quite minimal requiring one extra production.
>> 
>> ## Recommendation
>> 
>> The proposal is nondiruptive and as a whole addresses an important practical topic. I recommend
>> that we accept it
>> 
>> _______________________________________________
>> ghc-steering-committee mailing list
>> ghc-steering-committee at haskell.org <mailto:ghc-steering-committee at haskell.org>
>> https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-steering-committee/attachments/20231008/f27a68d3/attachment.html>


More information about the ghc-steering-committee mailing list