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

Simon Peyton Jones simon.peytonjones at gmail.com
Fri Sep 8 16:36:14 UTC 2023


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.)

Simon

On Fri, 8 Sept 2023 at 03: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
>
> _______________________________________________
> ghc-steering-committee mailing list
> 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/20230908/1f29bf2d/attachment.html>


More information about the ghc-steering-committee mailing list