Newsgroups: php.internals
Path: news.php.net
Xref: news.php.net php.internals:104693
Return-Path: <nikita.ppv@gmail.com>
Delivered-To: mailing list internals@lists.php.net
Received: (qmail 21446 invoked from network); 13 Mar 2019 19:06:47 -0000
Received: from unknown (HELO mail-it1-f181.google.com) (209.85.166.181)
  by pb1.pair.com with SMTP; 13 Mar 2019 19:06:47 -0000
Received: by mail-it1-f181.google.com with SMTP id m137so3773248ita.0
        for <internals@lists.php.net>; Wed, 13 Mar 2019 08:56:57 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=mime-version:from:date:message-id:subject:to;
        bh=NnglNZM0QRqTCyH8nuDxAAJ4wFC660SdZ5gWr0exm+U=;
        b=stc4LwYHnnfeqb8TqvMkIo33xQ4tubW8qXjLV6K3d1+vHqOWDN3NUjnzSGjSLlGyMH
         kDdtcnik2c6ykXiwJclgmoIDthokK1Wsb05skpcch/KNj3i+4FUQ1eZ1HCqanShFd9dR
         Y2PjXSDUUdXN6Dhz0ZxQByLdnblhuY4SChzRBQhgK61o06IZiikw7g+KAbRJO5aK+nIV
         PY08bds/+7IGUp6Kl3ssRrX64Vm4uIRHRPKD+w3fWS2x09o0jKWrxE+aLuonMRePVtxw
         /sXgbE62akh0VM+rGk6f7FjS9nQln8koGPkecA64RMaGltrenItFK3ifK3FGUhk/e5Db
         dBUQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:mime-version:from:date:message-id:subject:to;
        bh=NnglNZM0QRqTCyH8nuDxAAJ4wFC660SdZ5gWr0exm+U=;
        b=ZCnSuuEA5B6ceVycKhS7j2Oa+0xrsixazZ+Tp2f5C9A3WHuh0kVoYCUJbpdoxmTapY
         F7VbJDjDvfJf5vKGTeVuGz2YbsUZ9UHf1/y4pBe7xu9fQtTAtxgVQkA4jrsQXuyeAnyx
         pbFhU3AbHQwWZN+Q28QyV9gNSuoe4K5PnhC17+tPKvjDyyNT2wBRco9DccW1BAp5XJTt
         3tTQt6bnHvZrKXCSOYuLWLApDhlvZK+lUaveWzqNin8RBHoVZBAySyL4yEn0x2s5/MPP
         e0zDAcY//ACZuxpgzAQ7rJT7Bu+pPKPnvycTfRkODSTeaXbFRyky7NDQgx/uLZWyWQ6M
         vWBQ==
X-Gm-Message-State: APjAAAWOA6dNM1E+T05L4Su+F4LZ8bW+VehWzLsKkmwbPHANqcyDudUU
	96RX3uTpmBiBNw6shhhfx6Xy8V0vX+9A2FyTWsBQapNj
X-Google-Smtp-Source: APXvYqzXuKN7k2P9Tw8OVqJmI9ENR8hCKXPln4jBNuP0Ub1NkQ1dinWFglbENUfuqXvU+u6bkM99gI+ooC3CHaWu+0s=
X-Received: by 2002:a24:7542:: with SMTP id y63mr2255216itc.70.1552492616734;
 Wed, 13 Mar 2019 08:56:56 -0700 (PDT)
MIME-Version: 1.0
Date: Wed, 13 Mar 2019 16:56:40 +0100
Message-ID: <CAF+90c9YZcrquGfS4h3x1a+codkCFLarAThsOXcN69RCTvbAFA@mail.gmail.com>
To: PHP internals <internals@lists.php.net>
Content-Type: multipart/alternative; boundary="000000000000efdab10583fbda94"
Subject: [RFC] Arrow functions / short closures
From: nikita.ppv@gmail.com (Nikita Popov)

--000000000000efdab10583fbda94
Content-Type: text/plain; charset="UTF-8"

Hi internals,

Motivated by the recent list comprehensions RFC, I think it's time we took
another look at short closures:

https://wiki.php.net/rfc/arrow_functions_v2

This is based on a previous (withdrawn) proposal by Levi & Bob. It uses the
syntax

    fn($x) => $x * $multiplier

and implicit by-value variable binding. This example is roughly equivalent
to:

    function($x) use($multiplier) { return $x * $multiplier; }

The RFC contains a detailed discussion of syntax choices and binding modes.

Regards,
Nikita

--000000000000efdab10583fbda94--