On Mon, Jun 22, 2020, 6:35 PM Björn Larsson <bjorn.x.lars...@telia.com> wrote:
> Hi Ilija,Den 2020-06-18 kl. 22:51, skrev Ilija Tovilo: > > > Hi Björn > > > >>> I'd like to announce the match expression v2 RFC: > >>> https://wiki.php.net/rfc/match_expression_v2 > >> Well one could argue that when working with legacy code containing > >> switch statements where one gradually migrates to match, it might be > >> easier to have the same separator, i.e. ":". > > I think that's somewhat of a moot point. The syntax of match is quite > > different (match instead of switch, no case, no break, colon instead > > of case, comma instead of semicolon, trailing semicolon). Just making > > one of those the same doesn't make a meaningful difference for ease of > > migration. > Agree on that! One thing though. Is semicolon mandatory or is it optional > like in the first RFC? Feels a bit odd with a semicolon after a curly > bracket. > It's mandatory since it's an expression, not a block. Another example of an expression would be a closure: ``` $fn = function () { ... }; // a semicolon is mandatory here. ``` >> Is the proposed => separator inspired by Rust or Scala? Checked what > >> other languages used and for switch it's ":" of course. So one might > >> argue that to align with match statements in other languages "=>" is > >> a good choice, but OTOH if ones sees match as an enhanced switch, > >> having ":" as a separator is another alternative. > > Since nobody else asked for it, just for you I compiled a list of > > other languages :) > > > > https://gist.github.com/iluuu1994/11ac292cf7daca8162798d08db219cd5 > > > > The conclusion: Most languages also use some form of arrow. It makes > > sense to me to stay consistent with those languages. > > > > Ilija > > I think this is a very good motivation on why select => as a symbol and > I'm glad it's listed in the RFC. > > r//Björn > > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: https://www.php.net/unsub.php > >