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

Arnaud Spiwack arnaud.spiwack at tweag.io
Mon Oct 2 13:59:35 UTC 2023


I'm good too.

On Sat, 30 Sept 2023 at 19:33, Eric Seidel <eric at seidel.io> wrote:

> I'm happy with this change.
>
> On Fri, Sep 29, 2023, at 08:46, Moritz Angermann wrote:
> > Sounds good to me.
> >
> > On Fri, 29 Sep 2023 at 7:47 PM, Chris Dornan <chris at chrisdornan.com>
> wrote:
> >> 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
> >>>
> >>
> >> _______________________________________________
> >> ghc-steering-committee mailing list
> >> ghc-steering-committee at haskell.org
> >>
> https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee
> > _______________________________________________
> > ghc-steering-committee mailing list
> > ghc-steering-committee at haskell.org
> > https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee
> _______________________________________________
> ghc-steering-committee mailing list
> ghc-steering-committee at haskell.org
> https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee
>


-- 
Arnaud Spiwack
Director, Research at https://moduscreate.com and https://tweag.io.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-steering-committee/attachments/20231002/d2c4371c/attachment.html>


More information about the ghc-steering-committee mailing list