As this breaks accepted code, I’d really like to see this on two steps. At least one GHC release that warns about
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
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