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
>
>

Reply via email to