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@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@gmail.com <mailto:simon.peytonjones@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@chrisdornan.com
>     <mailto:chris@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@haskell.org
https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee