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

Moritz Angermann moritz.angermann at gmail.com
Fri Sep 8 23:26:32 UTC 2023


As this breaks accepted code, I’d really like to see this on two steps. At
least one GHC release that warns about

pattern X <- 42 :: Int


Being rejected by GHC going forward. Thus if we get a deprecation warning
for that syntax with the guidance to put the rhs into parentheses, for at
least one release prior to the breaking change, I have no objections.

Moritz

On Sat, 9 Sep 2023 at 3:58 AM, Adam Gundry <adam at well-typed.com> wrote:

> No objections from me. I tend not to pay too much attention to such
> syntactic niceties, but as the authors have gone to the trouble of
> surveying the community and implementing the proposal I see no reason
> not to accept their suggested syntax.
>
> I did notice that the PR drops Ömer's name from the authors list for
> #522, I'm not sure if that was intentional?
>
> Adam
>
>
> On 08/09/2023 18:47, Vladislav Zavialov wrote:
> > In favor
> >
> > On Fri, Sep 8, 2023 at 6:36 PM Simon Peyton Jones
> > <simon.peytonjones at gmail.com <mailto:simon.peytonjones at gmail.com>>
> wrote:
> >
> >     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
> >     <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
> <
> https://github.com/ghc-proposals/ghc-proposals/blob/eb4b67c29282520b2c5c6a49c3047dbecb15dde1/proposals/0522-or-patterns.rst
> >
> >         Discussion:
> >         https://github.com/ghc-proposals/ghc-proposals/pull/609
> >         <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
> >
>
>
> --
> Adam Gundry, Haskell Consultant
> Well-Typed LLP, https://www.well-typed.com/
>
> Registered in England & Wales, OC335890
> 27 Old Gloucester Street, London WC1N 3AX, England
>
> _______________________________________________
> 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/20230909/19af9749/attachment.html>


More information about the ghc-steering-committee mailing list