<div dir="ltr"><div>Hi devs,</div><div><br></div><div>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 <a href="https://github.com/ghc-proposals/ghc-proposals/issues/598">GH issue</a>.</div><div><b>In particular, `(p1 | p2)` has a small lead over `(p1; p2)`</b>, but the latter will steal syntax from a hypothetical guards-in-patterns extension `(p | e)` as described <a href="https://gitlab.haskell.org/ghc/ghc/-/wikis/view-patterns-alternative">here</a>.</div><div>I dismissed this point until <a href="https://github.com/ghc-proposals/ghc-proposals/issues/598#issuecomment-1600648262">Vlad made me aware</a> of the fact that `f (a -> b)` *could* mean "a pattern match on the type constructor `(->)`" in a Dependent Haskell future.</div><div>Apparently, the existence of the hypothetical guards-in-patterns extension <a href="https://github.com/ghc-proposals/ghc-proposals/issues/598#issuecomment-1600557467">was reason enough</a> to exclude view patterns from GHC2021.</div><div>Of course, `(p1; p2)` has issues of its own.<br></div><div>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.</div><div><br></div><div>Thanks,</div><div>Sebastian<br></div></div>