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

Chris Dornan chris at chrisdornan.com
Fri Sep 29 11:47:17 UTC 2023


All,

This proposal has now been revised to make it non-disruptive. 

That was the only issue of substance that surfaced in our discussion and I recommend that we accept this revised proposal.

Chris


> On 8 Sep 2023, at 11:57, Chris Dornan <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
> 

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


More information about the ghc-steering-committee mailing list