Hi devs,
I would like to invite you to provide arguments for or against the Or patterns syntax RFC `(p1; p2)` vs. `(p1 | p2)` over at this
GH issue.
In particular, `(p1 | p2)` has a small lead over `(p1; p2)`, but the latter will steal syntax from a hypothetical guards-in-patterns extension `(p | e)` as described
here.
I dismissed this point until
Vlad made me aware of the fact that `f (a -> b)` *could* mean "a pattern match on the type constructor `(->)`" in a Dependent Haskell future.
Apparently, the existence of the hypothetical guards-in-patterns extension
was reason enough to exclude view patterns from GHC2021.
Of course, `(p1; p2)` has issues of its own.
Given how close this vote is, I want to make sure that you, the GHC devs, are aware of this issue and perhaps have a few minutes to formulate a (counter) argument or just leave your vote before we submit the winner in the actual amendment proposal, at which point it will be up to the GHC steering committee to decide.
Thanks,
Sebastian