Re: [RFC][Discuss] Arrow Functions
| From: | Levi Morrison | Date: | Tue, 31 Jan 2017 18:34:12 +0000 |
| Subject: | Re: [RFC][Discuss] Arrow Functions | ||
| References: | 1 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-98086@lists.php.net to get a copy of this message | ||
On Mon, Jan 30, 2017 at 10:55 AM, Levi Morrison <levim@php.net> wrote:
> Bob Weinand and I are happy to announce that the [Arrow Functions][1]
> RFC is moving into the public discussion phase. We have been
> collaborating on this RFC for many months now and finally have a
> proposal we are happy to discuss in the open.
>
> Here is an example of an existing closure:
>
> function ($x) use ($arr) {
> return $arr[$x];
> }
>
> This RFC proposes syntax and semantics to simplify this common usage to:
>
> fn($x) => $arr[$x]
>
> More details are in the RFC. The [implementation][2] currently has no
> known issues and is ready for you to download, build and test, which
> we encourage you to do.
>
> We look forward to a productive discussion period and are happy to
> answer questions.
>
> For historical purposes, the revision of this RFC is currently at
> [1485798604][3].
>
> [1]: https://wiki.php.net/rfc/arrow_functions
> [2]:
> https://github.com/morrisonlevi/php-src/tree/arrow_functions
> [3]: https://wiki.php.net/rfc/arrow_functions?rev=1485798604
Thank you to everyone who has participated in the discussion so far.
Several people have asked for examples of type declarations. I have
updated the RFC accordingly and also added an example for by-ref
parameters and returns. Here are the examples:
fn (array $x) => $x
fn (): int => 42
fn &(array &$xs) => $xs
I have also made some minor improvements to the formatting in various places.